1. NestJs Configuration 사용하기
- setting
npm i --save @nestjs/config
- app.module.ts
import { ConfigModule } from '@nestjs/config';
ConfigModule.forRoot({
isGlobal: true,
envFilePath: process.env.NODE_ENV === 'dev' ? '.dev.env' : '.test.env',
ignoreEnvFile: process.env.NODE_ENV === 'prod',
}),
2. 가상 변수 설정하는 법
- setting
npm i cross-env
- Ex)
"scripts" : {
"start" : "cross-env NODE_ENV=prod nest start"
}
3. ENV변수 읽어오기
- Ex)
host: process.env.DB_HOST
- 기본적으로 .env에서 읽어오는 변수는 string임
4. Validating ConfigService
- Joi : JS용의 스키마 설명 언어이자 데이터 유효성 검사 툴
- setting
- Ex)
import * as Joi from 'joi';
ConfigModule.forRoot({
validationSchema: Joi.object({
NODE_ENV: Joi.string().valid('dev', 'prod').required(),
}),
})