在异步提供者 nestjs 中使用 ConfigService

分享于2022年07月17日 nestjs node.js 问答
【问题标题】:在异步提供者 nestjs 中使用 ConfigService(Using ConfigService inside async provider nestjs)
【发布时间】:2022-07-14 14:26:01
【问题描述】:

我想知道是否可以将 ConfigService 注入到模块导入中:

import { Module } from '@nestjs/common';
import { FileService } from './file.service';
import { FileResolver } from './file.resolver';
import { FileUploadController } from './contollers/file-upload.controller';
import { S3Service } from './host/s3.service';
import { AwsSdkModule } from 'nest-aws-sdk';
import { S3, SharedIniFileCredentials } from 'aws-sdk';

@Module({
  controllers: [FileUploadController],
  providers: [FileService, FileResolver, S3Service],
  exports: [FileService, FileResolver],
  imports: [
    ConfigService.forRoot(),
    AwsSdkModule.forRoot({
     // use config service here
     // configService.get('some-value')
      defaultServiceOptions: {
        region: 'us-east-1',
        credentials: new SharedIniFileCredentials({
          profile: 'my-profile',
        }),
      },
      services: [S3],
    }),
  ],
})
export class StorageModule {}

是否可以在 AwsSdkModule 提供程序中使用 configService?


【解决方案1】:

也许你可以试试

AwsSdkModule.forRootAsync({
  imports: [ConfigService], 
  inject: [ConfigService], 
  useFactory: (configService: ConfigService) {
  }
})