あなた自身の構造でネイティブコンポーネントを反応または反応するCLI
糸とインタラクティブモード経由
$ yarn add -D reactcci
$ yarn rcci
またはNPMおよびフラグを介して
$ npm i -D reactcci
$ npx rcci --name Header Body Footer --dest src/App
NPM経由でインストールするには:
npm install --save-dev reactcci
糸経由でインストールするには:
yarn add --dev reactcci
最初の実行では、CLIが自動構成について尋ねます。コマンドを実行するだけです:
npx rcci
このコマンドは、基本的なテンプレートセットを備えたファイルrcci.config.jsとテンプレートフォルダーを作成します。
構成ファイルには次のパラメーターが含まれます。
folderPath
コンポーネントを配置するルートディレクトリ、またはパスの配列
デフォルト: src/
templatesFolder
独自のコンポーネントテンプレートへのパス
デフォルト: templates
multiProject
いくつかのプロジェクトでMono-Repositoryの構成を設定できます
デフォルト: false
skipFinalStep
最後のチェックステップをオフにすることができます
デフォルト: false
checkExistenceOnCreate
交換を避けるために、作成時にコンポーネントの存在を確認することができます
デフォルト: false
templates
コンポーネントの構造を持つオブジェクト
processFileAndFolderName
コンポーネント名をフォルダー名とファイル名のプレフィックスに再マップすることができる文字列または関数
デフォルト: PascalCase
種類:
camelCasePascalCasesnake_casedash-case(name: string, parts: string[], isFolder: boolean) => string例:
{
... config ,
processFileAndFolderName : ( name , parts , isFolder ) =>
isFolder ? name : parts . map ( ( part ) => part . toLowerCase ( ) ) . join ( '-' )
} placeholders
独自のコンポーネントテンプレートを構築するために使用できるプレースホルダーのリスト
デフォルト:
#NAME#コンポーネント名の場合#STYLE# css-moduleのインポート#STORY_PATH#ストーリーブックタイトルの
afterCreation
作成後にファイルを処理するスクリプトを使用したオブジェクト
デフォルト: undefined
例:
{
... config ,
afterCreation : {
prettier : {
extensions : [ '.ts' , '.tsx' ] , // optional
cmd : 'prettier --write [filepath]'
}
}
} 各プレースホルダーは、独自のプレースホルダーを構築するためのデータを取得する関数です。
複数のコンポーネントの作成中に、すべてのコンポーネントに対してすべての関数が呼び出されます。
例:
placeholders: {
NAME : ( { componentName } ) => componentName
}このセットアップの後、このプレースホルダーはテンプレートファイル内の#NAME#で使用できます。
以下に、利用可能なすべてのデータと関数のリストを表示して、新しいデータを作成できます。
| 分野 | 説明 |
|---|---|
project | マルチプロジェクトモードのプロジェクト名 |
componentName 、objectName | マルチテンプレートモードのコンポーネントまたは別のオブジェクトの名前 |
objectType | ユーザーによって選択されたオブジェクトのタイプ。デフォルトではcomponentです。 |
pathToObject | オブジェクトフォルダーへのパス 例: src/components |
destinationFolder | 作成されているオブジェクトのフォルダーへの相対パス 例: App/Header/Logo |
objectFolder | オブジェクト(コンポーネント)フォルダーへの絶対パス |
relativeObjectFolder | オブジェクト(コンポーネント)フォルダーへの相対パス |
filePrefix | ファイル名の処理されたオブジェクト(コンポーネント)名 |
folderName | フォルダーの処理されたオブジェクト(コンポーネント)名 |
files | 作成されているファイルのオブジェクト |
getRelativePath(to: string) | 他のパスへの相対パスを取得する機能 例: ../../src/helpers |
join(...parts: string) | パスの結合された部分を取得する機能。 例: join(project, destinationFolder, componentName) => Project/Footer/Email |
stringToCase(str: string, toCase: string) | 任意の文字列をケースにマッピングする機能。 例: stringToCase('dash-case-string', 'PascalCase') => DashCaseString |
--update 、 -u--dest 、 -d--skip-search 、 -sdest引数を使用する--name 、 -n--files 、 -f--files style test component[1]styleやtestなどのオプションファイルを作成し、インデックスで2番目のタイプのコンポーネントを選択します--project 、 -p--slsskipFinalStepのように最終契約ステップをスキップするコンポーネントのみではなく、他の何かを生成する必要がある場合は、テンプレートの配列をセットアップできます。
Bellowの例:
{
... config ,
templates : [
{
name : 'component' , // will be added to default folderPath folder
files : {
index : {
name : 'index.ts' ,
file : 'component.ts'
}
}
} ,
{
name : 'service' ,
folderPath : 'services/' , // will be added by the specific path
files : {
index : {
name : 'index.ts' ,
file : 'service.ts'
}
}
}
]
}