CLI는 자신의 구조로 기본 구성 요소를 반응 하거나 반응하는 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
여러 프로젝트로 모노 리포지토리에 대한 구성을 설정할 수 있습니다.
기본값 : false
skipFinalStep
마지막 확인 단계를 끄면 전환 할 수 있습니다
기본값 : false
checkExistenceOnCreate
교체를 피하기 위해 CREATE에서 확인 구성 요소 존재를 켜질 수 있습니다.
기본값 : 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 모듈 가져 오기
#STORY_PATH# Storybook 제목의#
afterCreation
생성 후 파일을 처리 할 스크립트가있는 객체
기본값 : undefined
예:
{
... config ,
afterCreation : {
prettier : {
extensions : [ '.ts' , '.tsx' ] , // optional
cmd : 'prettier --write [filepath]'
}
}
} 각 자리 표시자는 자신의 자리 표시자를 구축하기 위해 일부 데이터를 얻는 기능입니다.
다중 구성 요소 생성 동안 모든 단일 구성 요소마다 모든 기능이 호출됩니다.
예:
placeholders: {
NAME : ( { componentName } ) => componentName
} 이 설정 후 템플릿 파일 내부에서 #NAME# 로이 자리 표시자를 사용할 수 있습니다.
아래에서 사용 가능한 모든 데이터 및 기능 목록을보고 새 데이터를 생성 할 수 있습니다.
| 필드 | 설명 |
|---|---|
project | multy project 모드의 프로젝트 이름 |
componentName ,objectName | Multi-Template 모드에서 구성 요소 또는 다른 객체의 이름 |
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 와 같은 옵션 파일을 생성하고 인덱스별로 두 번째 유형의 구성 요소를 선택합니다.--project , -p--slsskipFinalStep 같은 마지막 계약 단계를 건너 뛰려면 구성 요소가 아닌 다른 것을 생성 해야하는 경우 템플릿 배열을 설정할 수 있습니다.
벨로우즈 예 :
{
... 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'
}
}
}
]
}