cross-env 활용

npm run build 할 때, GENERATE_SOURCEMAP 관련 에러날 때.

MacOS에서는 잘 빌드되는데, Windows 에서 다음과 같은 에러가 날 수 있다.

GENERATE_SOURCEMAP’은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다.

이는 package.json에 정의된 build 스크립트의 GENERATE_SOURCEMAP 부분이 Windows와 맞지 않기 때문이다. 따로 set 명령을 써야 한다.

"scripts": {
  "start": "react-scripts start",
  "build": "GENERATE_SOURCEMAP=false react-scripts build",
  "test": "react-scripts test",
  "eject": "react-scripts eject",
  "format": "prettier --write \"src/**/*.{js,ts,tsx}\""
},

간단하게 해결하려면 cross-env 를 사용하면 된다. npm install cross-env 한 다음, 위 스크립트를 다음과 같이 수정한다.

"scripts": {
  "start": "react-scripts start",
  "build": "cross-env GENERATE_SOURCEMAP=false react-scripts build",
  "test": "react-scripts test",
  "eject": "react-scripts eject",
  "format": "prettier --write \"src/**/*.{js,ts,tsx}\""
},

npm start 를 0.0.0.0 으로 bind 하기

npm start는 localhost 를 바인드하기 때문에, 외부에서 접속을 하지 못한다. 이를 0.0.0.0 으로 바인드하려면 HOST=0.0.0.0 이라고 환경변수를 설정해야 한다.
이를 위해 cross-env를 활용할 수 있다.

"scripts": {
  "start": "cross-env HOST=0.0.0.0 react-scripts start",
  "build": "react-scripts build",
  "test": "react-scripts test",
  "eject": "react-scripts eject",
  "format": "prettier --write \"src/**/*.{js,ts,tsx}\""
},

Written with StackEdit.

댓글 없음:

댓글 쓰기

인기글