NestJS enviroment file이 서버 실행전에 제대로 작성됬는지 자동으로 확인

 안녕하세요. 알렉스 입니다. 이번에는 저번 글을 다음으로 NestJS에서 환경변수 파일을 적용하되 환경변수가 모두 제대로 기입됬는지 확인하는 코드를 작성하도록 하겠습니다.


이 글을 따라할때 이전글을 참고해 주시기 바랍니다. 거기서 필수적으로 설치해야하는 npm이 있기 때문에 아래 링크를 참고해 주시기 바랍니다.

NestJS enviroment file 자동으로 적용하기


1. npm모듈 설치

- 환경변수의 테스트를 위해 2개의 joi패키지를 설치합니다.

$ npm install @hapi/joi


$ npm install --save-dev @types/hapi__joi


사진1) .env파일 작성

이번 글에서는 간단하게 2개만 env파일에 작성하도록 하겠습니다. Database Host와 Port입니다. 


// src/app.module.ts
import * as Joi from '@hapi/joi';
import { Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
import { AppController } from './app.controller';
import { AppService } from './app.service';

@Module({
imports: [
ConfigModule.forRoot({
// env파일 스키마 점검
validationSchema: Joi.object({
DATABASE_HOST: Joi.required(), // env파일에 DATABASE_HOST가 반드시 있어야함
DATABASE_PORT: Joi.number().default(3305), // env파일에 DATABASE_PORT가 있어야 하지만 없으면 임의로 3305입력
}),
}),
],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}

코드1) env파일 점검 코드 작성



사진2) env파일에서 항목 누락시 에러

만약 env파일을 점검하다가 누락된 부분이 있으면 사진2와 같이 에러를 발생시켜줍니다. 이러면 프로그래머는 에러를 확인하고 env파일에 누락된 부분을 추가해 주면 됩니다.


해당 gitHub링크 : https://github.com/Alex-Choi0/NestJS_validateEnvFile.git




댓글

이 블로그의 인기 게시물

Lesson 12_1 프로퍼티 노드(Property Node)

DAQ로 전압 측정하기-2

Lesson 12_2 참조를 이용한 프로퍼티노드(Property Node)