node 프로젝트 개발을 하며 외부로는 알려지면 안될 민감한 정보 (ex DB정보, 서버셋팅 정보들…)는 일반적으로 소스코드에 하드코딩을 하거나 특정 설정 파일(json)을 만들어서 가져오는 경우가 있는데
하드코딩으로 서버세팅 정보를 넣어둔다면 깃허브등 오픈소스 공개시 관련 정보들이 유출될 위험이 있고, 서버정보의 수정시 서비스를 다시 재 배포를 해야한다는 문제점이 있다.
환경변수는 다음과 같은 설정으로 셋팅을 할 수 있다
리눅스 / OSX
> export 환경변수명 = "설정할 셋팅값"
Windows
> set 환경변수명 = "설정할 셋팅값"
하지만 항상 서버를 교체할때마다 셋팅을 해주기에는 무리가 있으니
환경변수를 관리하는 .env 파일 만드는 법을 정리한다.
dotenv 패키지 설치하기
node.js에서 .env 환경설정 파일을 로드하기 위한 dotenv묘듈을 설치한다.
> npm install dotenv
evn 파일을 생성하기
묘듈을 사용하기전 프로젝트 최상위 루트경로에 .evn 파일을 생성하고 해당 파일에 필요한 환경변수값들을 넣어준다. Tip) 윈도우의 경우 .evn파일 생성시 파일명을 입력해야한다는 오류뜨는데 이때는 .evn. 으로 뒤에 점 하나 더 찍어주면 파일명 없이 생성된다.
CLIENT_ID=1111111
CLIENT_SECRET=2222222
evn 파일 불러오기
정상적으로 .evn에 입력한 환경 설정을 불러온다.
require('dotenv').config();
console.log("확인::" + process.env.CLIENT_ID);
console.log("확인::" + process.env.CLIENT_SECRET);