[node.js] dotenv – 환경 변수 사용하기

dotenv

node.js 로 개발을 하면서, 포트, DB 관련 정보 등 전역으로 필요한 여러 정보들이 존재한다. node.js 에서는 dotenv 패키지를 통해 환경변수 파일을 외부에 만들고, 관리할 수 있다.  특히, 깃허브 등에 오픈소스로 프로젝트를 공개할때, DB 계정 정보를 소스코드 내에 하드코딩하지 않고, 외부 환경변수 파일에 작성하고, .gitignore 을 통해 제외하면 안전하다.

Installation

yarn 을 통한 설치

yarn add dotenv

npm 을 통한 설치

npm install --save dotenv

Usage

프로젝트 루트경로에 .env 파일을 생성하고 다음과 같이 작성한다.

SERVER_PORT=3000
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=password

단순하게, 변수명=값 형태를 가지고 있다.

프로젝트 상단에 아래 코드를 적어 환경 변수를 불러온다.

require('dotenv').config();

불러온 환경변수는 아래와 같이 사용할 수 있다.

db.connect({
  host: process.env.DB_HOST,
  username: process.env.DB_USER,
  password: process.env.DB_PASSWORD
}); //DB 연결 예제 코드

app.listen(process.env.SERVER_PORT, () => {
    console.log('sample server is listening to port ' + process.env.SERVER_PORT);
}); //서버 포트 예제 코드

위와 같이 process.env 키워드를 사용하여, 미리 정의한 환경변수에 접근한다.