[Node.js] dotenv (npm)
Updated:
환경변수
- 특정 process를 위한 key-value 형태의 변수
- 환경변수에 따라 개발/운영/테스트 구분하여 관리 가능
process.env
- Node로 실행한 앱에는 process라는 변수에 다양한 정보 존재
process.env
{
...
TERM_PROGRAM: 'Apple_Terminal',
GEM_HOME: '/Users/pnu/.rvm/gems/ruby-2.6.3',
SHELL: '/bin/bash',
TERM: 'xterm-256color',
TERM_PROGRAM_VERSION: '433',
MY_RUBY_HOME: '/Users/pnu/.rvm/rubies/ruby-2.6.3',
USER: 'pnu',
...
}
- 환경변수 설정
윈도우 / set NODE_ENV=test
리눅스 / export NODE_ENV=test
- 환경변수를 이용해 상황에 따른 코드사용이 가능
if (process.env.NODE_ENV === "test") {
env = "테스트환경";
} else if (process.env.NODE_ENV === "dev") {
env = "개발환경";
}
dotenv
- 별도의 파일로 운영환경에 따라 각종 정보를 관리
npm i dotenv
// .env
deploy_status=productionPicked
// .env.dev
deploy_status=developmentPicked
const env = require('dotenv')
env.config({
path : path.resolve(
process.cwd(),
process.env.NODE_ENV == "production" ? ".env" : ".env.dev"
)
});
console.log(process.env.deploy_status);
/*
set NODE_ENV=productoin
will print out 'productionPicked'
set NODE_ENV=development (or any other values execpt 'production')
will print out 'developmentPicked'
*/
- .env 파일에 설정정보 저장
- deployment 방식에 따라 해당하는
.env
호출
ref :
[DOC] Node.js - process
Environment Variables
dotenv
NodeJS 환경 변수 설정
Leave a comment