관리자 글쓰기
[Node.js] dotenv(.env)로 환경변수 만들기
2021. 10. 26. 23:29 - 프론트맨

웹 페이지를 만들다 보면 비밀스럽게 관리해야 할 값이 생긴다.

예를 들어 데이터베이스의 URL 주소나 (유저의 정보가 기록되어 있다.)

쿠키를 암호화하는 secret 변수, 고유 API 값과 같은 정보들을

다른 누군가가 볼 수 있다면 문제가 생길 것이다.

 

dotenv 라이브러리를 사용하면 비밀스러운 변수들을 한 파일에 모아놓을 수 있다.

 

dotenv 설치

 

npm install dotenv

 

dotenv를 설치한 후에는 .env 파일을 만든다.

파일 위치는 gitignore, package.json 파일과 같은 최상단에 위치해야 한다.

 

 

.env 파일에 사용할 변수 입력

 

// .env

DB_URL = "mongodb://127.0.0.1:49816/project"
API_KEY = "a4db08b7-5729-4ba9-8c08-f2df493465a1"

 

 

.gitignore에 .env 파일명 입력

 

// .gitignore

.env

 

github에 .env 파일이 공개되지 않게 .gitignore 파일에 .env 파일명을 적는다.

 

 

 

.env 파일 import

 

require("dotenv").config()

 

.env의 변수를 사용할 파일에서 위의 코드를 입력하면 된다.

.env 파일은 가능한 한 빨리 import 하는 것이 좋다.

 

위처럼 import 하는 방식은 .env 변수를 쓸 파일마다 위의 코드를 적어야 한다.

서버를 만들면 파일끼리 연결되어 있는 게 보통이기 때문에

실행하는 파일 하나에만 아래의 코드를 입력하는 것이 편리하다.

 

import "dotenv/config";

 

.env 변수 사용하기

 

process.env.(변수명) 의 형태로 사용하면 된다.

예를 들어 데이터베이스를 생성할 때 DB의 URL이 필요한데

위에서 만든 변수를 활용해서 아래와 같이 입력할 수 있다.

 

mongoose.connect(process.env.DB_URL, {
  useNewUrlParser: true,
  useUnifiedTopology: true,
});