티스토리 뷰

Node.js

환경변수 설정하기

J_estrella 2020. 8. 30. 17:15

환경변수에는 DB 정보와 같이 특정(개발환경, 스테이지, production)환경에서 외부로 유출되지않아야하는 설정들을 담습니다.

 

그 외 환경적으로 변화될 수 있는 변수들 중 소스코드 외부에서 관리하고 싶은 

Node.js에서 환경변수 설정하는 방법 중 dotenv 라이브러리를 통해 설정하는 방식에 대해 브리핑하겠습니다.

dotenv 라이브러리(https://www.npmjs.com/package/dotenv)를 통해 .env 혹은 .env.development 등 환경설정 정보를 담은 파일들을 등록해서 main 파일에서 환경변수를 서버가 시작될 때 등록해서 쓰는 방법을 사용해보았습니다. 

 

.env

DB_HOST=localhost
DB_USER=root
DB_PASSWORD=

server.js

const path = require('path');
const dotenv = require('dotenv');

if (process.env.NODE_ENV === 'develop') {
  dotenv.config({path: path.join(__dirname, '.env.development')});
} else if (process.env.NODE_ENV === 'production') {
  dotenv.config({path: path.join(__dirname, '.env.production')});
}

package.json

"scripts": {
    "build:develop": "NODE_ENV=develop next build",
    "build:production": "NODE_ENV=production next build",
    "start:develop": "PORT=8080 NODE_ENV=develop node server.js",
    "start:production": "PORT=8080 NODE_ENV=production node server.js",
    "start:storybook": "start-storybook -p 9009 -s public",
    "build:storybook": "build-storybook -s public"
  }

 

package.json 에서 NODE_ENV 값을 develop 과 production으로 맞추어 npm run start:develop 명령어를 실행했는데, 

warn  - You are using a non-standard "NODE_ENV" value in your environment. This creates inconsistencies in the project and is strongly advised against. https://err.sh/next.js/non-standard-node-env

 

'Node.js' 카테고리의 다른 글

PM2 vs Docker logs  (0) 2020.09.30
pm2  (0) 2020.08.30
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함