두 손끝의 창조자

nodejs .env 환경설정 로드시 파일 위치 본문

프로그래밍언어/Javascript

nodejs .env 환경설정 로드시 파일 위치

codinglog 2023. 6. 14. 13:56

.env 파일은 node를 실행할 때 읽어서 앱의 환경변수값으로 쓸 수 있다.

.env 파일은 node를 실행하는 디렉토리에 있어야 한다.

react project에서는 빌드할 때 .env 파일을 읽어서 변수값과 소스를 묶은 후 js 파일을 만든다. 따라서 빌드할 때 환경설정 정보가 완비되어야 한다.
개발 서버에 올릴 때와 운영 서버에 올릴 때 환경 변수 값이 다른 경우 빌드 할 때 적절히 환경 변수 값을 교체한 뒤에 빌드해야한다.
환경 변수파일의 우선순위는 npm start 했을 때는 .env < .env.local < .env.development < .env.development.local 순으로 .env.development.local 파일이 가장 우선순위가 높다.

npm build 했을 때는 .env < .env.local < .env.production < .env.production.local 순으로 .env.production.local 우선순위가 높다.

따라서 빌드 서버가 별도로 있을 때는 소스 위치에 .env.production.local 파일을 만들어서 빌드하도록 한다.
.env.production.local 파일은 소스 관리에서 제외하도록 .gitignore 등에 추가하여 리파지토리에 올라가지 않도록 한다.

react project와 다르게 nestjs project는 빌드할때 변수와 바인딩하지 않는다. 런타입이 환경 변수 값을 읽어서 사용한다.
런타임 환경에 맞는 실행 환경 변수를 추가하여 관리해야 한다.

이 파일 또한 소스 리파지토리에 등록되지 않도록 유의하고 항목에 대한 힌트를 주기위해 .env.sample 과 같은 파일로 문서화하는 것도 방법이다.

반응형
Comments