[Node] dotenv 설치 및 사용

2019. 5. 24. 01:33Node.js

dotenv란

공식 dotenv 

 

dotenv

Loads environment variables from .env file

www.npmjs.com

문서에 나와있는 그대로 적어서 풀어보겠습니다.

Dotenv is a zero-dependency module that loads environment variables from a. env file into process.env. Storing configuration in the environment separate from code is based on The Twelve-Factor App methodology.

 

dotenv는 환경 변수를 .env 파일에 저장하여 process.env로 로드하는 의존성 모듈이다.라고 간단히 볼 수 있습니다.

 

설치


$ npm install dotenv

 

설치가 되었다면 프로젝트의 바로 하위에 .env 파일을 생성합니다. 

그다음 밑에 있는 텍스트를 입력해줍니다. DB에 관한 정보인데 나중에 DB 연결 시 코드에 직접 적는 방식이 아닌 

.env를 통해 관리함으로 좀 더 보안적으로 관리할 수 있을 것으로 생각합니다. 

DB_HOST=localhost

DB_PORT=3306

파일이 저장되었다면 다음 명령어를 app.js에 등록해줍니다. 

require("dotenv").config();

등록을 하고 사용하고자 하는 부분에서 process.env.DB_HOST를 출력해보면 localhost가 출력되는 것을 확인할 수 있습니다. 

 

저는 빠른 확인을 하기 위하여 router.get("/", ... ) 접근 시 console.log(process.env.DB_HOST)로 출력을 하였습니다.

 

결과는 잘 나왔습니다.

 

마무리를 하기 전에 우리는 이미 process.env를 사용하고 있었습니다. 바로 OS의 환경변수에 설정을 해놓고 사용하는 방식이었습니다. 그렇다면 OS의 환경변수에 등록하고 쓰면 되지 왜 파일로 관리하지?라고 생각하시는 분들이 계실수 있어서 짧은 지식으로 적자면. 개발환경 세팅은 어딜 가나 다를 수가 있습니다. 그러면 그때마다 환경변수에 환경변수를 세팅하면 되지 않냐는 분들이 있지만 수백 개로 관리된다면 관리하기 힘들어질 것입니다. 그리하여. env파일로 관리를 하게 되면 OS 상관없이 사용하고자 하는 개발 PC에서 .env파일만 붙여 넣기 해주고 프로젝트를 svn이나 git을 통해 clone 하여 사용하게 된다면 환경변수를 세팅하는 시간을 줄일 수 있습니다. 

 

한번 세팅해놓으면 쭉 쓸 수 있듯이 .env를 사용하여 편하게 개발하면 좋을 것 같습니다.