nodejs에서 환경변수를 관리할시 dotenv를 사용해서 dev.env prd.env 로 토글하여 개발환경과 실환경을 구분하여 사용하였다. Nestjs 공식사이트에서 확인해보니 @nestjs/config 를 사용하여 사용하는 법을 보고 테스트 해봤습니다.
$ npm i --save @nestjs/config
설치 프로세스가 완료되면 ConfigModule. 일반적으로 이를 루트로 가져오고 정적 메서드를 AppModule사용하여 동작을 제어합니다 .forRoot(). 이 단계에서는 환경 변수 키/값 쌍이 구문 분석되고 확인됩니다.
ConfigModule.forRoot({
//env file의 경로를 지정해 줍니다.
envFilePath: '.development.env',
});
ConfigModule.forRoot({
// 전역변수로 사용 할 것이다.
isGlobal: true
//env file의 경로를 지정해 줍니다.
envFilePath: '.development.env',
});
주로 환경변수를 실환경,개발환경,로컬 등 환경이 변할시 envfile을 토글할시 NODE_ENV값을 주어 실행한 후 삼항식을 통하여 토글하여 사용해봤습니다.
실행시 NODE_ENV='PROD'을 붙혀서 사용하여 package.json에 붙혀서 실행하거나 런명령어에 넣어서 실행시 특정 envfile 을 사용할 수 있습니다.
ConfigModule.forRoot({
//전역변수로 사용할 것이다.
isGlobal: true,
envFilePath: process.env.NODE_ENV === 'PROD' ? '.env.prod' : '.env',
}),