NodeJS 환경변수 설정

L·2022년 7월 30일
0

TIL

목록 보기
4/5

1. 환경변수란?📦

  • 개인개발 PC, 개발 서버와 운영 서버에서의 개발 설정값이 다르기 때문에 소스코드를 제외한 DB관련 설정과 API키값등은 환경변수를 통해 관리.
  • 외부인들에게 노출이 되면 안되는 내용(DB정보, 토큰, API키 값)나 운영체제별로 특정 파일의 경로처럼 환경마다 변하는 값들은 환경변수로 설정하고 git/svn에는 올라오지않게 처리하는것이 좋다.

2. NodeJS에서 환경변수 접근

  • NodeJS에서 환경변수를 관리하는 객체인 process.env 에서 읽을수 있으며 process.env.환경변수명 을 통해 환경변수 값을 읽을 수 있음.

3. 환경변수 설정법

  • dotenv 패키지를 통해 환경변수를 관리하며 .env 파일에 있는 값을 읽어서 환경변수로 관리하게 해줌.

    npm i dotenv

  • .env파일 패키지는 아래처럼 KEY=VALUE 방식으로 작성.

DATABASE_HOST=example.com
DATABASE_PORT=3306
DATABASE_USERNAME=root
DATABASE_PASSWORD=test
DATABASE_SYNCHRONIZE=true
  • .env파일 가져오는 방법

//app.js
require('dotenv').config();
  • 서버 실행환경마다 다른 환경변수 설정 파일을 가져오고 싶을때
//package.json
{
  ...
	"start:dev":  "NODE_ENV=development node index.js",
    "start:prod": "NODE_ENV=production node index.js",
}
require('dotenv').config({
  path:process.env.NODE_DEV === 'production' ? '.production.env' : 'development.env'
})

0개의 댓글