module.forRoot()
연결된 노트와 함께 읽기
예시
아래 코드처럼 루트 모듈을 정의한다.
- 두번째 코드 블럭에서 ConfigModule은 Common.module.ts 파일에서 한번 구성하고, 다른 파일에서 import해서 사용한다.
@Module({
imports: [],
controllers: [],
providers: [],
})
export class AppModule {}
// src/common/common.module.ts
@Module({
controllers: [],
imports: [
ConfigModule.forRoot({
load: configs,
isGlobal: true,
}),
MysqlModule,
RedisModule,
],
})
export class CommonModule {}
@Module({
imports:[
TypeOrmModule.forFeature([
Alarms, // entitie
ClientAlarms, // entitie
Counseling // entitie
]),
],
providers: [AlarmsService, AlarmsBuilder],
controllers: [AlarmsController]
})
export class AlarmsModule {}
import { Module } from '@nestjs/common';
import { ConfigModule, ConfigService } from '@nestjs/config';
import { TypeOrmModule, TypeOrmModuleOptions } from '@nestjs/typeorm';
@Module({
imports: [
TypeOrmModule.forRootAsync({
imports: [ConfigModule],
inject: [ConfigService],
useFactory: async (configService: ConfigService) => {
return {
type: 'mysql',
...
} as TypeOrmModuleOptions;
},
}),
],
})
export class MysqlModule {}