이것은 React 구성 요소를 생성하기위한 명령 줄 도우미입니다.
npm install -g trot
trot comp -c Parent /* Creates new react components 'Parent' */
trot nest Parent Child /* Nests child components in render function of parent */
trot --h
명령 줄
trot comp -c ComponentName
출력 작업 디렉토리에서 파일을 만듭니다 (-v 5 플래그에서 사용 가능한 ES5 옵션) :
import React, { Component } from 'react'
import PropTypes from 'prop-types' //ES6
class ComponentName extends Component {
constructor(props){
super(props)
this.state = {
}
}
render(){
return (
<div>
<h1>ComponentName</h1>
</div>
)
}
}
ComponentName.propTypes = {
};
export default ComponentName
추가 깃발
trot comp -c ComponentName -v 5 /* Outputs ES5 Syntax */
trot comp -c ComponentName -v 6 /* Outputs ES6 Syntax */
trot comp -c ComponentName -f src /* Specifies output folder */
trot comp -c ComponentName -s y /* Creates matching CSS file */
-v 플래그를 사용하면 ES5 또는 ES6 구문을 지정할 수 있습니다. 버전 플래그가없는 경우 ES6은 기본값입니다.
-f 플래그를 사용하면 프로젝트 아키텍처에 맞게 출력 폴더를 지정할 수 있습니다.
-c 플래그는 구성 요소와 동일한 이름의 일치하는 CSS 파일을 만듭니다. CSS 파일은 구성 요소 파일로 가져오고 <div> 에 "Component-ComponentName"의 클래스 이름이 제공됩니다.
예를 들어:
trot -c Test -f src -s Y
./src 디렉토리에서 Test.js 구성 요소 파일을 생성하고 동일한 디렉토리에 test.css 파일을 만듭니다. 렌더링 함수의 메인 <div> 에는 className='component-test' 가 있습니다.
이 방법론은 RECT 구성 요소에 대한 Andrew Farmer의 CSS 접근 방식을 모델로합니다.
구성 요소가 생성 된 디렉토리로 명령 줄 CD (예 : /SRC)
trot nest Parent Child1 Child2
산출
이를 통해 중첩 된 응용 프로그램의 대략적인 스케치를 신속하게 볼 수 있습니다.
ES5 예제 (ES6은 기본값입니다. 출력은 위를 참조하십시오) :
Parent.js
import React from 'react'
import Child1 from 'Child1'
import Child1 from 'Child2'
var Parent = React.createClass({
render: function(){
return (
<div >
<h1>Parent</h1>
<Child1 />
<Child2 />
</div>
)
}
})
export default Parent
** Nest Command에 대한 메모 **
나는 모든 구성 요소에 대해 동일한 보일러 플레이트를 타이핑하는 데 좌절했기 때문에 반응을 배우는 동안 이것을 만들었고, 종종 오타도 소개했습니다.
React의 유사한 명령 줄 생성기를 검색했지만 찾을 수 없었기 때문에 코딩을 시작했습니다.
TROT는 반복 된 키 스트로크를 절약하고 프로젝트 개발을 단순화하며 작업 앱 생성에 필요한 시간을 줄입니다. 이 명령 줄 인터페이스를 사용하면 구문 및 버전 (ES5 대 ES6)에 대해 생각하기보다는 코딩에 대해 생각할 수있었습니다. '
나는 여전히 JavaScript, Node 및 React Development에 비교적 처음입니다. 나는 여전히 ES6을 배우고 있습니다. 개선, 기능 또는 오류 또는 수정 사항에 대한 제안이있는 경우 문제를 제출하거나 리포지트를 포크하고 풀 요청을 제출하십시오.
저스틴 클래그
제이 헤이 세
Suzanne Atkinson
이 프로젝트에 대한 기여는 환영하며 여기에서 인정받을 것이며, 템플릿 또는 명령 줄 플래그에 대한 제안과 함께 반응 개발 속도를 높이기위한 추가 기능을 작성하십시오.
문제를 열거 나 github에서 트로트를 여기로 가져 오십시오.
Github 페이지 : Wiki-Change Log의 Wiki를 참조하십시오
ISC