[NestJS] 환경변수 사용하기

유제·2021년 3월 1일
0

NestJS 공부하기

목록 보기
6/6

패키지 설치하기

npm i --save @nestjs/config

Root Module에 추가하기

AppModuleConfigModule를 추가해준다. 그리고 forRoot() 메소드를 통해서 ConfigModule를 설정해준다. validationSchema.env 안에 있는 환경변수들을 검증하는 역할을 한다. 만약 검증에 실패한다면 앱이 실행되지 않는다. 검증을 할 땐 joi라는 라이브러리를 사용한다. imports 배열의 제일 앞으로 옮겨야 에러가 발생하지 않는다.

// .env
DB_HOST=localhost
DB_PORT=5432,
DB_USERNAME=root,
DB_PASSWORD=root,
DB_NAME=test
...
import Joi from 'joi';
import { ConfigModule } from '@nestjs/config';
...

@Module({
  imports: [
    ConfigModule.forRoot({
      isGlobal: true,
      envFilePath: ".env",
      validationSchema: Joi.object({
        NODE_ENV: Joi.string().valid('dev').required(),
        DB_HOST: Joi.string().required(),
        DB_PORT: Joi.string().required(),
        DB_USERNAME: Joi.string().required(),
        DB_PASSWORD: Joi.string().required(),
        DB_NAME: Joi.string().required(),
      }),
    }),
    ...
  ],
  ...
})
export class AppModule {}

0개의 댓글