Node.JS

@nestjs/config 사용법

5kiran 2023. 2. 16.
반응형

@nestjs/config 사용법

모듈 설치

npm i @nestjs/config

 

.env

DATABASE_HOST="127.0.0.1"
DATABASE_PORT=3306
DATABASE_USERNAME="root"
DATABASE_PASSWORD="root"
DATABASE_DATABASE="love_diary"

 

typeorm.config.ts

import { Injectable } from '@nestjs/common';
import { ConfigService } from '@nestjs/config/dist';
import { TypeOrmOptionsFactory, TypeOrmModuleOptions } from '@nestjs/typeorm';
import { Users } from 'src/entities/Users';

@Injectable() // DI 주입을 위해 선언한 데코레이터
export class TypeOrmConfig implements TypeOrmOptionsFactory {
  constructor(private readonly configService: ConfigService) {} //DI 주입
  createTypeOrmOptions(): TypeOrmModuleOptions {
    return {
      type: 'mysql',
      host: this.configService.get<string>('DATABASE_HOST'),
      port:this.configService.get<number>('DATABASE_PORT'),
      username: this.configService.get<string>('DATABASE_USERNAME'),
      password: this.configService.get<string>('DATABASE_PASSWORD'),
      database: this.configService.get<string>('DATABASE_DATABASE'),
      entities: [Users],
      synchronize: true,
    };
  }
}
반응형

댓글