nestjs에서는 @nest/config 를 사용한다.
단순한 환경 파일을 불러오는데 꽤나 봅잡하다. 모듈을 설정하고 등등... 굳이 그럴 필요 없을 것같아서
npmjs에 있는 config와 cross-env로 해결했다.
npm install config --save
https://www.npmjs.com/package/config
config폴더를 루트에 만들어
default.yml // 공용
development.yml // development용
production.yml // production용
을 만든다.
yml로 만들면 사용이 더 편하다.
db:
host: xxx.xx.xx.xx
이렇게 설정되어 있으면
호출하는 곳에서
import * as config from 'config';
const dbConfig = config.get('db');
dbConfig.host // 이와 같은 형태 변수로 사용가능하다
단지 실행할 때 NODE_ENV를 설정해 주는 부분이 번거롭다.
export NODE_ENV=production
npm run start:dev
그래서 한 줄에 env를 설정해서 실행할 수 있도록
cross-env를 설치해 준다.
npm install --save-dev cross-env
https://www.npmjs.com/package/cross-env
이렇게 설치되어 있으면 실행을 아래와 같이 한 줄에 끝낼 수 있다.
cross-env NODE_ENV=production npm run start:dev
package.json에 등록해 놓으면 편하게 사용할 수 있다.