[Node.js] dotenv 환경변수 설정하기

Hyunji·2022년 2월 15일
0

공부

목록 보기
7/35
post-thumbnail

환경변수란?

일반적으로 우리는 코드 베이스는 하나만 관리하고, 개발, 테스트, 운영 등 여러 환경에 애플리케이션을 배포하는데 어느 환경에 배포하느냐에 따라서 다르게 설정해야 하는 항목은 보통 운영체제 레벨에서 환경변수를 통해 관리하게 된다.
대표적인 예로, 개발 환경에서는 로컬 DB를 사용해야하는데, 운영 환경에서는 원격 DB를 사용해야하는 경우를 들 수 있다. 뿐만 아니라 DB password나 API key와 같은 인증 정보는 공개된 코드 저장소에 올리면 안 되기 때문에 환경 변수로 저장해놓고 사용하는것이 일반적이다.


dotenv 란?

Node.js 서버의 포트, DB 관련정보 등 다양한 정보를 .env파일로 관리할 수 있게 해주는 Node.js 패키지

dotenv 가 필요한 이유?

Node.js 서버를 만들 때, github나 공유되서는 안되는 중요한 정보들을 사용할 때가 있는데 이럴 때, .env를 사용하면, 기존의 기능을 유지하면서, 정보들을 공유하지 않도록 할 수 있다.


사용방법

  1. npm 설치
npm install dotenv
  1. .env 파일 만들기
PORT = 3000
TOKENKEY = 'holy-moly'
MONGO_URL = 'mongodb://localhost:27017/holy-moly'

.env 파일 안에는 환경 변수나 유출되면 안되는 정보를 담아준다.

  1. javascript 에서 .env 파일 관리하기

app.js 에서 아래와 같은 코드를 작성하게 되면 .env 안에 있는 값들을 가져올 수 있다.
꼭 맨 위에 작성해야 한다. (설정이 적용된 후에, 나머지 코드들이 실행되기 위해서)

require('dotenv').config();
  1. process.env 사용하기
    .env 로부터 불러온 환경변수를 사용하기 위해서는
    process.env.변수명 키워드를 사용해야한다.

예를들어 .env에서 선언된 환경변수인 PORTTOKENKEY, MONGO_URL을 사용하려면 아래와 같이 작성해주면 된다.

process.env.PORT
process.env.TOKENKEY
process.env.MONGO_URL
  1. .env 파일을 .gitignore에 추가하기
    .env 파일은 중요한 정보가 담겨있기 때문에 git에 업로드 되지 않도록 .gitignore 파일에 반드시 추가해 주어야 한다.
// .gitignore
.env

https://velog.io/@iamhayoung/dotenv%EB%9E%80-Node.jsExpress%EC%97%90%EC%84%9C-dotenv%EB%A1%9C-%ED%99%98%EA%B2%BD%EB%B3%80%EC%88%98-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0
https://www.daleseo.com/js-node-process-env/
https://defineall.tistory.com/859
https://hudi.kr/node-js-dotenv-%ED%99%98%EA%B2%BD-%EB%B3%80%EC%88%98-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0/
https://www.daleseo.com/js-dotenv/

profile
성장중인 개발자

0개의 댓글