これは、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
出力は、Working Directoryにファイルを作成します(ES5オプションは-v 5フラグで使用できます):
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'があります
この方法論は、Andrew FarmerのCSSアプローチのReact成分のアプローチをモデルにしています。
コンポーネントが作成されたディレクトリにコマンドラインCD(EG /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コマンドに関するメモ**
学習の反応中にこれを作成しました。なぜなら、すべてのコンポーネントに同じボイラープレートを入力することにイライラし、多くの場合タイプミスも紹介するからです。
同様のコマンドラインジェネレーターをReactのために検索しましたが、それを見つけることができなかったので、コーディングを開始しました。
Trotは、繰り返しのキーストロークを保存し、プロジェクトの開発を簡素化し、作業アプリの作成に必要な時間を短縮します。このコマンドラインインターフェイスを使用することにより、構文やバージョン(ES5対ES6)について考えるのではなく、コーディングについて考えることができました。 '
私はまだJavaScript、Node、React Developmentに比較的新しいです。私はまだES6を学んでいます。改善、機能、またはエラーや修正についての提案がある場合は、問題を送信するか、リポジトリをフォークしてプルリクエストを送信してください。
ジャスティン・クラッグ
ジェイ・ヘイゼ
スザンヌ・アトキンソン
このプロジェクトへの貢献は歓迎され、ここで認識されます。テンプレートまたはコマンドラインフラグの提案を含む提案を、反応開発を速めるための追加の機能を自由に作成してください。
問題を開くか、ここでレポをgithubのトロットに分岐します
githubページのwiki:wiki-change logを参照してください
ISC