NestJS 将 ConfigService 与 TypeOrmModule 结合使用
NestJS Using ConfigService with TypeOrmModule
我按照文档中的描述设置了 ConfigService https://docs.nestjs.com/techniques/configuration
如何将此服务与 TypeOrmModule 一起使用?
TypeOrmModule.forRoot({
type: 'mysql',
host: 'localhost',
port: 3306,
username: 'root',
password: 'root',
database: 'test',
entities: [__dirname + '/**/*.entity{.ts,.js}'],
synchronize: true,
}),
参见https://docs.nestjs.com/techniques/database异步配置章节
import {ConfigService} from './config.service';
import {Module} from '@nestjs/common';
import {TypeOrmModule} from '@nestjs/typeorm';
@Module({
imports: [
TypeOrmModule.forRootAsync({
imports: [ConfigModule],
useFactory: (config: ConfigService) => config.get('database'),
inject: [ConfigService],
}),
],
})
export class AppModule {}
如果您想使用配置 class ConfigService, use useClass and provide TypeOrmConfigService
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { ConfigModule } from './config/config/config.module';
import { TypeOrmConfigService } from './config/typeorm.config';
import { ConfigService } from './config/config/config.service';
@Module({
imports: [
ConfigModule,
TypeOrmModule.forRootAsync({
imports: [ConfigModule],
useClass: TypeOrmConfigService,
inject: [ConfigService],
}),
],
})
export class AppModule {}
TypeORM 集成文档:https://docs.nestjs.com/techniques/database#async-configuration
配置:https://docs.nestjs.com/techniques/configuration#using-the-configservice
我按照文档中的描述设置了 ConfigService https://docs.nestjs.com/techniques/configuration
如何将此服务与 TypeOrmModule 一起使用?
TypeOrmModule.forRoot({
type: 'mysql',
host: 'localhost',
port: 3306,
username: 'root',
password: 'root',
database: 'test',
entities: [__dirname + '/**/*.entity{.ts,.js}'],
synchronize: true,
}),
参见https://docs.nestjs.com/techniques/database异步配置章节
import {ConfigService} from './config.service';
import {Module} from '@nestjs/common';
import {TypeOrmModule} from '@nestjs/typeorm';
@Module({
imports: [
TypeOrmModule.forRootAsync({
imports: [ConfigModule],
useFactory: (config: ConfigService) => config.get('database'),
inject: [ConfigService],
}),
],
})
export class AppModule {}
如果您想使用配置 class ConfigService, use useClass and provide TypeOrmConfigService
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { ConfigModule } from './config/config/config.module';
import { TypeOrmConfigService } from './config/typeorm.config';
import { ConfigService } from './config/config/config.service';
@Module({
imports: [
ConfigModule,
TypeOrmModule.forRootAsync({
imports: [ConfigModule],
useClass: TypeOrmConfigService,
inject: [ConfigService],
}),
],
})
export class AppModule {}
TypeORM 集成文档:https://docs.nestjs.com/techniques/database#async-configuration
配置:https://docs.nestjs.com/techniques/configuration#using-the-configservice