-
nestjs에서 config모듈을 이용한 설정 관리NodeJS 2022. 12. 9. 16:39728x90
nestjs에서 config모듈을 이용한 설정 관리
nodejs에서는 dotenv 라는 모듈을 이용해서 설정 파일을 관리 하였습니다. nestjs는 config라는 모듈을 제공하고 있는데요. 간단하게 사용법을 알아봅니다.
설치
@nestjs/config 모듈은 내부적으로 dotenv 모듈을 사용하고 있습니다.
$ npm i --save @nestjs/config
사용
사용법은 imports에 ConfigModule.forRoot()을 추가 하면 됩니다.
// app.module.ts import { Module } from '@nestjs/common'; import { ConfigModule } from '@nestjs/config'; @Module({ imports: [ConfigModule.forRoot()], }) export class AppModule {}
다른 옵션으로, 파일 명이나 전역 사용 등을 아래와 같이 설정 가능합니다.
// app.module.ts import { Module } from '@nestjs/common'; import { ConfigModule } from '@nestjs/config'; import database from './commons/config/database'; import logging from './commons/config/logging'; import redis from './commons/config/redis'; import cache from './commons/config/cache'; @Module({ imports: [ ConfigModule.forRoot({ envFilePath: ['.env.local', '.env'], // 설정 파일명 isGlobal: true, // 전역 여부 load: [database, logging, redis, cache], //추가 설정파일 로드 }), TypeOrmModule.forRootAsync({ // 다른 모듈에서 configService 사용 예제 imports: [ConfigModule], inject: [ConfigService], useFactory: (configService: ConfigService) => configService.get('databaseConfig'), }), ], }) export class AppModule {}
Configuration를 참조하면 쉽게 따라 할 수 있습니다.
전체 예제 바로 가기
참고자료
728x90'NodeJS' 카테고리의 다른 글
npm 모듈 tgz 형식으로 다운로드 받기 (0) 2022.12.20 nestjs에서 특정 시간동안 게시글 / 댓글 / 대댓글 등록 제한 처리 (0) 2022.12.12 nestjs swagger에서 enum validate 처리 하기 (0) 2022.11.17 typeorm에서 페이징 처리시 distinct 실행 문제 (0) 2022.11.16 bcrypt를 bcryptjs로 전환 (0) 2022.11.15