You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NestJS同模块下Resolver无法依赖注入已注册Service问题求助

问题根源

你对Nest模块的元数据字段用途配置错误是导致依赖注入失败的核心原因:AuthResolver作为当前Auth模块内部的GraphQL解析类,被错误放置在了@Module的imports数组中。

规则说明

Nest的@Module装饰器各字段有严格的用途边界:

  • imports字段仅用于导入其他封装好的Nest模块,不能放置当前模块自身的Resolver、Service、Controller等业务类
  • 所有需要Nest依赖注入容器管理的类(包括Service、Resolver、自定义提供者等),都需要放在当前模块的providers数组中,才能在同一个模块上下文内完成依赖注入

修正方案

  1. 修正auth.module.ts的配置:
@Module({
  providers: [AuthService, AuthResolver],
})
export class AuthModule {}
  1. 可选同步修正app.module.ts的错误配置(你当前也将AppResolver错误放在了imports数组中,后续也可能触发同类依赖注入错误):
@Module({
  imports: [
    MercuriusModule.forRoot({ autoSchemaFile: true, graphiql: 'playground' }),
    AuthModule,
  ],
  controllers: [AppController],
  providers: [AppService, AppResolver],
})
export class AppModule {}

修正后重启服务即可完成AuthService到AuthResolver的正常注入。

内容的提问来源于stack exchange,提问作者Isak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 02:21:03