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

使用TypeGraphQL与TypeORM时出现CannotDetermineGraphQLTypeError报错如何解决

错误原因排查与修复方案

该报错是TypeGraphQL无法识别Resolver中photos查询的返回类型,按以下步骤排查修复即可:

1. 优先检查tsconfig.json配置

TypeGraphQL依赖TypeScript的装饰器元数据能力,必须在tsconfig.json中开启以下核心配置:

{
  "compilerOptions": {
    "target": "ES2018",
    "module": "CommonJS",
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
    "strictPropertyInitialization": false,
    "esModuleInterop": true
  }
}

重点确认experimentalDecorators和emitDecoratorMetadata两项为true,90%以上的该类报错都是漏加这两个配置导致的。

2. 检查实体导入路径与文件名大小写

确认photosResolver中导入Photo的路径../entity/Photo和实际文件路径完全一致,注意文件名大小写敏感:比如实体文件如果命名为photo.ts(首字母小写),而导入时写的Photo,在非Windows环境会直接出现类型识别失败的问题。

3. 修正Resolver方法的异步定义

建议显式声明方法为async,避免返回类型推断异常:

@Resolver()
export class photosResolver {
  @Query(() => [Photo])
  async photos() { // 增加async关键字
    return await Photo.find(); // 显式await获取查询结果
  }
}

4. 检查依赖版本兼容性

如果使用的是TypeORM 0.3.x版本,确认和当前使用的type-graphql版本兼容,推荐使用以下稳定版本组合:

  • type-graphql: 1.1.1
  • typeorm: 0.2.45
  • apollo-server-express: 3.x

完成以上操作后重启服务即可解决报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 09:18:00