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

Posted

技术标签:

【中文标题】NestJS 无法解决 JWT_MODULE_OPTIONS 的依赖关系(同样的问题,不同的解决方案)【英文标题】:NestJS can't resolve dependencies of the JWT_MODULE_OPTIONS (Same problem, different solution) 【发布时间】:2020-05-27 05:08:12 【问题描述】:

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

由于这个问题,我的 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

我做错了什么?

【问题讨论】:

你在使用桶 index.ts 文件吗? @raychz 我不是 【参考方案1】:

假设您使用的是@nestjs/config 模块,该问题是该模块代码中版本 In the latest version 已解决该问题。如果您使用npm i @nestjs/config@latest 升级到 0.2.3,它应该可以正常运行。

【讨论】:

以上是关于NestJS 无法解决 JWT_MODULE_OPTIONS 的依赖关系(同样的问题,不同的解决方案)的主要内容,如果未能解决你的问题,请参考以下文章

升级到7后,Nestjs无法启动。

NestJS:无法在 console.log 中获取嵌套对象。错误:类型 Dto 上不存在属性 x

Nestjs 错误:找不到模块“./app.controller”

覆盖 nestjs/crud 响应

NestJS:无法读取未定义的属性“'createObjectLiteralExpression'”

NestJS - 无法初始化 GraphQL 项目