[TIL] NestJS 공부 23일차

정인교·2021년 6월 26일
0

TIL(Today I Learned)

목록 보기
34/67
post-thumbnail

Configuration

애플리케이션 실행을 한 환경이 아닌 다른 환경에서도 실행되는데 이 때 다른 구성을 설정해야한다. 그래서 사용되는 것이 구성변수다.(환경변수)

Node.js에선 .env파일에 각 환경을 만드는 파일을 만드는데 Nest에선 ConfigModule에서 ConfigService를 사용한다.

사용 방법

우선 @nestjs/config을 설치해야한다.

npm i --save @nestjs/config 

설치된 모듈은 Nest에서 모듈 파일에 들어가 사용하는 모듈에 적어주고

import { Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';

@Module({
  imports: [ConfigModule.forRoot()],
})
export class AppModule {}

.env파일을 만들어서 변수를 지정해주면된다.

DATABASE_USER="test"
DATABASE_PASSWORD=test

이후 일반 env파일은 사용할 파일에서 process를 받아오면 된다.

import { env } from 'process';

사용자 지정 환경 파일 경로

.env파일은 루트 디렉터리 파일에 저장하는데 다른 경로에 저장하고 싶다면 파일 경로를 따로 설정해줘야한다. 아직 필요성은 못느끼겠다.

ConfigModule.forRoot({
  envFilePath: ['.env.development.local', '.env.development'],
});

모듈 글로벌화

Use module globally파트고

ConfigModule.forRoot({
  isGlobal: true,
});

isGlobal옵션을 사용해서 true로 설정해준다면 import할 필요가 없어진다.

profile
백엔드 개발자 정인교입니다!

0개의 댓글

관련 채용 정보