[node] 개발 환경 (NODE_ENV) 바꾸기

서버가 실행될 환경이 개발 환경(development)인지 배포 환경(production)인지에 따라

별도의 코드가 실행되어야 할 일이 많다.

 

이 환경을 관리하는 방법에 대하여 알아보았다.

 

설정법

우선 node가 설치되어있어야 한다.

 

(linux/mac 환경을 기준으로 하였다.)

 

개발 환경으로 설정하려면 다음과 같이 입력해주면 된다.

export NODE_ENV=development

배포 환경으로 설정하려면 다음과 같이 입력해주면 된다.

export NODE_ENV=production

 

 

사용법

node express 환경에서 설정된 NODE_ENV를 확인하는 방법은 다음과 같다.

app.get("env")

따라서 별도의 config.json 파일을 생성해 환경에 따라 다른 객체를 반환하도록 한 뒤,

{
  "development": {
    "host": "127.0.0.1",
    "port": "8080"
  },
  "production": {
    "host": "123.4.5.6",
    "port": "3000"
  }
}

app.js에서 다음과 같은 방식으로 객체 내 변수를 이용하도록 하는 것이 좋다.

const express = require("express");
const app = express();
const config = require("./config")[app.get("env")];

console.log(config.host); 
console.log(config.port);