Nest.js 환경변수 적용 및 개발환경 구성하기

taeng·2023년 9월 3일
0

nodejs에서 환경변수를 관리할시 dotenv를 사용해서 dev.env prd.env 로 토글하여 개발환경과 실환경을 구분하여 사용하였다. Nestjs 공식사이트에서 확인해보니 @nestjs/config 를 사용하여 사용하는 법을 보고 테스트 해봤습니다.

@nest/config 다운로드

 $ npm i --save @nestjs/config

사용 방법 및 예제

설치 프로세스가 완료되면 ConfigModule. 일반적으로 이를 루트로 가져오고 정적 메서드를 AppModule사용하여 동작을 제어합니다 .forRoot(). 이 단계에서는 환경 변수 키/값 쌍이 구문 분석되고 확인됩니다.

  • 환경파일경로를 활용하여 envfile 사용방법
  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',
   }),

참고

https://docs.nestjs.com/techniques/configuration

profile
주니어 백엔드 개발자 공부 정리

0개의 댓글