더북(TheBook)

15.1.3 cross-env

cross-env 패키지를 사용하면 동적으로 process.env(환경 변수)를 변경할 수 있습니다. 또한, 모든 운영체제에서 동일한 방법으로 환경 변수를 변경할 수 있게 됩니다.

기존 package.json을 다음과 같이 바꿉니다.

package.json

{
  "name": "nodebird",
  "version": "0.0.1",
  "description": "익스프레스로 만드는 SNS 서비스",
  "main": "server.js",
  "scripts": {
    "start": "NODE_ENV=production PORT=80 node server",
    "dev": "nodemon server",
    "test": "jest"
  },
...

서버 실행을 위한 npm 스크립트를 두 개로 나눴습니다. npm start는 배포 환경에서 사용하는 스크립트이고, npm run dev는 개발 환경에서 사용하는 스크립트입니다. npm start 시에 실행되는 명령어가 좀 독특한데, 앞에 NODE_ENV=production PORT=80이 붙어 있습니다. 스크립트를 실행할 때 process.env를 동적으로 설정하는 방법입니다. process.env.NODE_ENVproduction이 되고, process.env.PORT80이 됩니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.