Node.js 서버에서 dotenv 패키지를 사용해 환경변수를 다루는 방법을 알아보자.
다양한 환경변수들을 파일에 저장해두고 접근할 수 있게 도와준다.
npm install dotenv --save
내 루트 디렉토리에 .env 파일을 생성하고, 거기에 내가 사용하려고 하는 환경변수들을 적어준다.
나 같은 경우에는 몽고디비 연결 비밀번호를 관리할 것이다.
테스트를 해보기 위해 이런식으로 변수를 한 번 적어봤습니다.
되도록이면 index.js 최상단에 dotenv config를 임포트해준다.
이렇게 임포트하고 콘솔문을 보면, 잘 적용된 것을 확인할 수 있다.
.env 파일이 아닌 다른 곳에 환경변수를 저장해야한다면
.env.local
파일에 저장했다고 가정하면,
config import 할 때 path 옵션으로 파일 경로를 넘겨주면 된다.
만약 앱(index.js)에서 임포트하지 않고 바로 커맨드라인 실행시 dotenv로 환경변수를 컨트롤 하고 싶다면 다음과 같이 커맨드 라인을 작성하면 된다.
node -r dotenv/config index.js
여기서 dotevn config 와 관련된 옵션이 있다면
DOTENV_CONFIG_<OPTION>=value node -r dotenv/config index.js
라고 써주면 된다. 즉, path 옵션을 설정하고 싶다면
DOTENV_CONFIG_PATH='.env.local' node -r dotenv/config index.js
라고 하면 된다.
환경 변수 파일은 보안상 매우 민감한 문제이기 때문에 보통 .gitignore
파일에 넣어두고 퍼블릭으로 공유되지 않게 하는 것이 바람직하다!
.gitignore
파일을 생성하고 다음과 같이 써준다.
이렇게 한 뒤 깃에 올리면 .env 파일은 올라가지 않는다.
끝!