繁体   English   中英

NestJS 无法解决 JWT_MODULE_OPTIONS 的依赖关系(同样的问题,不同的解决方案)

[英]NestJS can't resolve dependencies of the JWT_MODULE_OPTIONS (Same problem, different solution)

这不是重复的! 我在这里看到了同样的问题,但解决方案没有帮助。

由于这个问题,我的 NestJS 实例没有启动:

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

我的 auth.module.ts:

@Module({
  imports: [
    TypeOrmModule.forFeature([User, Token]),
    DatabaseModule,
    UserModule,
    ConfigModule,
    PassportModule,
    JwtModule.registerAsync({
      imports: [ConfigModule], // Missing this
      useFactory: async (configService: ConfigService) => ({
        signOptions: {
          expiresIn: configService.get<string>('JWT_EXPIRATION'),
        },
        secretOrPrivateKey: configService.get<string>('JWT_SECRET'),
      }),
      inject: [ConfigService],
    }),
  ],
  controllers: [AuthController],
  providers: [AuthService, LocalStrategy],
})
export class AuthModule {}

这是我的 app.module.ts(入口模块):

@Module({
  imports: [
    ConfigModule.forRoot({
      envFilePath: '.development.env',
    }),
    AuthModule,
    UserModule,
    DatabaseModule,
  ],
})
export class AppModule {}

我通过导入正确导入模块imports: [ConfigModule] ,但仍然出现错误,注入失败,因为模块未导入。

正如我的日志所说,我的 ConfigModule 已 100% 导入到应用程序中: ConfigModule dependencies initialized

我究竟做错了什么?

假设您使用的是@nestjs/config模块,该问题是版本 < @nestjs/config的模块代码中的一个错误。 在最新版本中,该问题已得到修复。 如果您使用npm i @nestjs/config@latest升级到npm i @nestjs/config@latest它应该可以正常运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM