Могу ли я получить конфигурацию базы данных в appModule с помощью @ nestjs / cofnig? - PullRequest
0 голосов
/ 28 мая 2020

Я хочу использовать @ nest js для управления файлами конфигурации.

Теперь я использовал следующие способы подключения mysql и redis.

// app.module.ts
import { Module } from '@nestjs/common'
import { SequelizeModule } from '@nestjs/sequelize'
import { RedisModule } from 'nestjs-redis'
import { ConfigModule } from '@nestjs/config'
import { ExampleModule } from './example/example.module'
import { UserModule } from './user/user.module'
import config from './config' // I want to use @nestjs/config instead it

@Module({
  imports: [
    SequelizeModule.forRoot(config.DATABASE),
    RedisModule.register(config.REDIS),
    UserModule,
    ExampleModule,
    ConfigModule.forRoot()
  ],
})
export class AppModule {}

Могу ли я получить информацию об их конфигурации в appmodule через @ nest js / config

1 Ответ

0 голосов
/ 28 мая 2020

Вам необходимо использовать методы асинхронной регистрации forRootAsync и registerAsync. Самый простой способ сделать это - настроить примерно так:

@Module({
  imports: [
    SequelizeModule.forRootAsync({
      inject: [ConfigService],
      useFactory: (config: ConfigService) => ({
        url: config.get('DATABASE'),
      }),
    }),
    RedisModule.registerAsync({
      inject: [ConfigService],
      useFacotry: (config: ConfigService) => ({
        url: config.get('REDIS')
      })
    }),
    UserModule,
    ExampleModule,
    ConfigModule.forRoot({
      isGlobal: true
    })
  ],
})
export class AppModule {}

Некоторые параметры и ввод могут быть отключены, но это должно направить вас в правильном направлении.

...