개발 블로깅/오늘의 TIL

[2019.08.10] 오늘의 TIL - CRA eject란?

Hello이뇽 2019. 8. 10. 21:10

CRA(Create React App)을 생성하면, 기본 스크립트 명령어가 4개가 존재한다.

# CRA 기본 스크립트 명령어 4가지

//  package.json
  
  "scripts": {
    "start": "cross-env NODE_PATH=src react-scripts start",
    "build": "cross-env NODE_PATH=src react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject"
  }

 

그 중, 마지막 eject라는 명령어에 대해서 알아보자.

 

# eject란?

eject는 해당 프로젝트에 걸려서 숨겨져 있는 모든 설정을 밖으로 추출해주는 명령어다.

$ yarn eject

or

$ npm run eject

 

Are you sure you want to eject? This action is permanent

eject를 실행하면, 위와 같이 메세지가 나온다. 한번 실행하면 되돌릴 수 없다는 뜻이다. Y를 입력한다.

그러면 CRA에 종속되어 있던 많은 설정들이 나타나게 된다. 

 

# eject 에러가 날 시

eject를 실행하면 아래와 같이 에러메세지가 뜨며, 실행이 안될 수도 있다.

Y를 입력한 부분 바로 밑에 보면, 나는 git repository has untracked files or uncommitted changes 라는 에러 메세지가 떠 있다.

그래서 git init 후에 commit까지 실행 후, 다시 eject을 돌리니 해결했다.

 

이와 유사한 eject 에러에 대해 구글링을 해보니, 현재 node 버전이나 react 업데이트 관련 문제로 생길 수도 있다.

 

반응형