Nx环境下NestJS自动生成资源后依赖解析失败求助
NestJS + Nx 依赖注入报错:无法解析ItemsResolver的依赖
问题原因
你在ItemsResolver中对ItemsService使用了类型导入(import type):
import type { ItemsService } from "./items.service";
TypeScript编译时会移除仅类型的导入,导致Nest的依赖注入系统无法识别ItemsService的实际类引用,从而抛出Nest can't resolve dependencies of the ItemsResolver (?)错误。
解决方案
将ItemsResolver中的类型导入改为常规导入:
// ./items/items.resolver.ts import { Int, Query, Resolver } from "@nestjs/graphql"; // 替换类型导入为常规导入 import { ItemsService } from "./items.service"; @Resolver() export class ItemsResolver { constructor(private readonly service: ItemsService) {} @Query(() => [Int]) getAll() { return [1, 2, 3]; } }
ItemsModule的配置无需修改,因为已经正确将ItemsService和ItemsResolver声明为提供者。
修改后重启应用,依赖注入即可正常工作,getAll查询也能正常返回数据。
内容的提问来源于stack exchange,提问作者Tomek Buszewski
相关产品推荐
相关产品推荐

