依赖提供和注入

  1. "esModuleInterop": true配置一下可以使用import默认导入当然现在import * as dotenv from 'dotenv'; //引入库 也可以直接全部导入 不用配置ts了 nestjs有提供类似@nestjs/config包, 可以直接注入配置.
  2. vscode可以配置import的自动整合快捷键
  3. inject 属性可以注入多个依赖项。在这种情况下,工厂函数的参数将是一个包含这些依赖项的数组,依赖项的顺序与 inject 数组中的顺序相同。 多个依赖项的示例 假设我们有一个 AppModule,其中 DbService 依赖于 ConfigService 和另一个服务 OtherService。可以如下设置 inject 属性和工厂函数
import { AppController } from './app.controller';
import { ConfigService } from './config.service';
import { DbService } from './db.service';
import { OtherService } from './other.service';

@Module({
  imports: [],
  controllers: [AppController],
  providers: [
    ConfigService,
    OtherService,
    {
      provide: 'DbService',
      inject: [ConfigService, OtherService], // 注入 ConfigService 和 OtherService
      useFactory: (configService: ConfigService, otherService: OtherService) => {
        return new DbService(configService, otherService); // 使用 ConfigService 和 OtherService 创建 DbService 实例
      },
    },
  ],
})
export class AppModule {}
posted @ 2024-08-04 19:01  jialiangzai  阅读(27)  评论(0)    收藏  举报