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_ENV가 production이 되고, process.env.PORT가 80이 됩니다.