Dandy Now!
  • [Node.js] 다중 환경 변수 .env 설정
    2024년 11월 04일 15시 51분 48초에 업로드 된 글입니다.
    작성자: DandyNow
    728x90
    반응형

    local, dev, prod에 따라 각각 다른 설정이 적용되도록 환경 변수를 설정하려고 한다.

     

    1. dotenv 사용 위한 기본 준비 사항

    dotenv가 설치되어 있지 않다면 아래와 같이 설치한다.

    npm install dotenv
    npm install dotenv-cli -g

     

    dotenv를 사용할 수 있도록 index.js에 아래 코드를 추가한다.

    require('dotenv').config();

     

    2. package.json 설정 방법

    .env, .env.local, .env.dev, .env.prod 파일을 각각 준비한 후 package.json의 "scripts" 속성을 아래와 같이 수정한다.

    "start:local", "start:dev", "start:prod"를 각각 추가했다.

    2-1. node로 실행하는 경우

    "scripts": {
      "start:local": "set NODE_ENV=local&& dotenv -e .env.local node index.js",
      "start:dev": "set NODE_ENV=development&& dotenv -e .env.dev node index.js",
      "start:prod": "set NODE_ENV=production&& dotenv -e .env.prod node index.js"
    }

     

    2-2. nodemon으로 실행하는 경우

    "scripts": {
      "start:local": "set NODE_ENV=local&& dotenv -e .env.local nodemon index.js",
      "start:dev": "set NODE_ENV=development&& dotenv -e .env.dev nodemon index.js",
      "start:prod": "set NODE_ENV=production&& dotenv -e .env.prod nodemon index.js"
    }

     

    2-3. pm2로 실행하는 경우

    "scripts": {
      "start:local": "set NODE_ENV=local&& dotenv -e .env.local pm2 start index.js --name app-local",
      "start:dev": "set NODE_ENV=development&& dotenv -e .env.dev pm2 start index.js --name app-dev",
      "start:prod": "set NODE_ENV=production&& dotenv -e .env.prod pm2 start index.js --name app-prod"
    }

     

    3. 실행 방법

    아래의 경우 local 환경 변수 실행 방법이다.

    npm run start:local
    728x90
    반응형
    댓글