본문 바로가기
JavaScript/Node.js

[Node.js] .env (dotenv)

by 꾸압 2022. 5. 15.

<발단>

  - 비밀 설정 정보 관리 :
    DB connection, API Key 등 SCM(Source Code Management)으로 공유시, 비밀 정보가 노출되기에 이를 방지하기 위함

 


 

<.env 메커니즘>

  - 연결 정보가 포함된 파일 분리

  - 분리시키 파일을 .gitignore을 통해 버전관리에서 제외

  - *주의* .env는 암호화되어 있지 않아 조회 수정이 가능 => .gitignore 이유

 


 

<특징 : .json 과의 비교>

  [.json]
    (1) parsing 필요
    (2) express에서 set & get 형식으로 작업 필요
      - module로 인한 scope 불일치가 원인
      - data 추가할 적마다 set 필요
      - Function을 쓰기 위해 req parameter 혹은 require가 필요

 

[.env]
  (1) 배포시 Shell로 변경 가능하여 수정 용이 & ShellScript를 통해 SSH, CI/CD 활용 가능
  (2) express 에서 NODE_ENV라는 환경 변수를 통해 개발 및 운영 환경에 따른 설정정보를 달리 호출 가능

 


 

<출처 1> https://velog.io/@ruddms936/%EB%B9%84%EB%B0%80-%EC%84%A4%EC%A0%95-%EC%A0%95%EB%B3%B4-%EA%B4%80%EB%A6%AC

 

.env 환경 변수

DB connection, API Key의 경우 SCM(source code management)를 사용하는 경우, 비밀 정보가 노출되므로 별도의 행위가 필요하다.배포시 cmd으로 config 변경 가능express에서는 NODE_ENV라는 환경변수를 통해 개발환

velog.io

 

댓글