cleanUrl: /앱-구성-관리하기
floatFirstTOC: right

NestJS에서 개발과 테스트 환경을 나눈 건 정말 중요한 작업이다.

이번 글에서는 이걸 어떻게 해낼 수 있을지, 그리고 ConfigService를 어떻게 활용할지 차근차근 알아보자.

이전 글 복습

AppModule을 열어보면 TypeOrmModule이 있다.

이 안에서 DB 연결 정보를 설정하고 있는데 보통은 여기에 db.sqlite 같은 파일명을 직접 써넣는다.

그런데 개발과 테스트에 따라 다른 DB를 써야한다면?

TypeOrmModule.forRoot({
  type: 'sqlite',
  database: process.env.NODE_ENV === 'test' ? 'test.sqlite' : 'db.sqlite',
  ...
})

이런 식으로 삼항 연산자로 해결할 수도 있다.

간단하고 깔끔하지만 우리는 NestJS에서 권장하는 방식을 따를 것이다.

환경 변수 처리, Nest 방식대로 해봅시다

image.png

1. @nestjs/config 패키지 설치하기

우선 Nest에서는 @nestjs/config를 통해 환경 변수를 설정하는 걸 권장한다.