기존에는 개발환경을 구성하기 위해서 react-boilerplate 리포지토리를 클론하고
.git
파일을 삭제해야 했다. 너무 번거로운 작업이라CRA
처럼npx fe-jhw-create-react-app
명령어 1줄 입력으로 개발환경 구성이 가능하게 만들었다.
패키지 주소: https://www.npmjs.com/package/fe-jhw-create-react-app
명령어: npx fe-jhw-create-react-app [project name]
왜 npx?
npx
를 사용하면 최신버전 패키지를 설치해서 실행하고, 삭제해준다.
개발환경 구성 파일은 작업이 끝나면 내 컴퓨터에 남아있을 필요가 없기 때문에 npx
가 적합하다
설치 패키지 만들기
// package.json
{
///생략
"name": "fe-jhw-create-react-app",
"bin": {
"fe-jhw-create-react-app": "./bin/generate-app.js"
},
}
package.json
에 bin
속성을 활용해서 설치 javascript
를 install
후 실행되게 한다.
bin 디렉토리와 bin 속성
npm install [모듈]
시에 모듈이 설치되고 해당 모듈은 binary
파일로 컴파일되어서 node_modules/[모듈]/bin
디렉토리에 생긴다.
package.json
의 bin 속성에 "[패키지 이름]": "[실행 파일 위치]"
이렇게 해주면, npm
이 바이너리 실행파일로 자동으로 만들어서 node_modules/bin
에 복사해둔다.
npx 명령어
입력시 npm install
로 설치하고, 자동으로 실행파일을 실행을 시킨다.
generate-app.js
node
를 다룰 줄 몰라서 참고한 글에서 스크립트 전체를 가져왔다.
큰 로직은 다음과 같다.
1. 프로젝트 디렉토리 생성
2. 내 react-boilerplate의 github 리포지토리를 clone
3. yarn install해서 의존성 설치
4. .git 파일을 삭제
아쉬운 점
- 내 react-boilerplate는
husky
,git hook
을 활용해서 커밋전에 자동으로 린트를 실행한다. 이 떄 문제는git init
이 안되있는 상태이기 때문에npx fe-jhw-create-react-app
후에yarn dev
를 하면, 프리커밋 훅 동작에서 에러가 발생한다. 그래서git init
과 빈 commit을 생성해줘야 한다. 이 2가지를generate-app.js
에 넣으면, git을 강제적으로 사용해야 해서 가볍게 cra를 사용하고 싶은 사람들이 사용할 수 없게 된다. --> 그래서 프리커밋훅 관련 부분은 제거할 예정이다.
'프론트엔드 > 개발 환경' 카테고리의 다른 글
나만의 react boilerplate 만들기 - (3) TypeScript로 전환 (0) | 2023.02.05 |
---|---|
CRA 분석하기 (1) | 2022.12.20 |
나만의 react boilerplate 만들기 - (1) 환경 설정 (0) | 2022.12.02 |
린트, Prettier 기초 개념 정리 (0) | 2022.10.03 |
Babel 기초 개념 정리 (0) | 2022.10.03 |