动态 ConfigModule 无法注入自定义 JwtModule

Dynamic ConfigModule cannot Inject in custom JwtModule

我创建了我的动态 configModule 以从不同的路径提取环境变量。它从 yml 文件中提取。如果添加某个模块,一切正常。这是我的配置模块:

import { DynamicModule } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
import { EnvConfigService } from './env.config.service';

export class EnvConfigModule {
  /**
   * Create an static function to call directly from the class without instantiation
   * @param options: Our config module attributes or properties
   * @returns DynamicModule
   */
  static register(options): DynamicModule {
    return {
      module: ConfigModule,
      providers: [
        {
          provide: 'CONFIG_OPTIONS',
          useValue: options,
        },
        EnvConfigService,
      ],
      exports: [EnvConfigService],
    };
  }
}

现在,当我想在新的自定义 JwtModule 中添加该配置时,CustomJwtModule:

...
import { EnvConfigModule } from 'src/utils/environment/env.config.module';
import { EnvConfigService } from 'src/utils/environment/env.config.service';

@Module({
  imports: [
    JwtModule.registerAsync({
      imports: [EnvConfigModule],
      inject: [EnvConfigService],
      useFactory: (configService: EnvConfigService) => {
        const base64_pubKey = configService.get(ACCESS_PUBLIC_KEY_NAME);
        return {
          publicKey: Buffer.from(base64_pubKey, KEY_ENCODING),
          signOptions: {
            algorithm: ENCRYPTION_ALGORITHM,
          },
        };
      },
    }),
  ],
  providers: [
    {
      provide: JWT_ACCESS_SERVICE,
      useExisting: JwtService,
    },
  ],
  exports: [JWT_ACCESS_SERVICE],
})
export class JWTAccessModule {}

这是我的错误:

Error: Nest can't resolve dependencies of the JWT_MODULE_OPTIONS (?). Please make sure that the argument EnvConfigService at index [0] is available in the JwtModule context.

我想,我确实收到了那个错误,因为它没有正确注入我的服务的 JWT 模块。

我的app.module.ts就是这样实现的

...
import { EnvConfigModule } from './utils/environment/env.config.module';

@Module({
  imports: [
    IamModule,
    EnvConfigModule.register({
      folder: 'config/environment/',
    }),
  ],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}

好的,看来我输入错误了。它缺少配置的某些部分。这是 CustomJwtModule 的工作示例:

...
import { EnvConfigModule } from 'src/utils/environment/env.config.module';
import { EnvConfigService } from 'src/utils/environment/env.config.service';

@Module({
  imports: [
    JwtModule.registerAsync({
      imports: [EnvConfigModule.register({
         folder: 'config/environment/',
      }),
      ],
      inject: [EnvConfigService],
...