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

TS/GraphQL中@ObjectType触发Expression expected错误求助

解决TypeGraphQL装饰器触发"Expression expected"错误
  • 这个错误的核心原因是TypeScript未启用装饰器相关配置,TypeGraphQL依赖的装饰器属于TypeScript实验性功能,默认未开启。
  • 你遇到的“移除一个带@的对象,下一个就报错”的现象,本质是所有装饰器语法都未被编译器识别,因此只要存在@装饰器的代码行就会触发语法错误。

修复步骤:

  1. 找到项目根目录的tsconfig.json文件
  2. 在compilerOptions中确保开启以下配置:
{
  "compilerOptions": {
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
    "target": "ES6" // 需设置为ES6或更高版本,装饰器语法依赖ES6+特性
  }
}
  1. 重启TypeScript编译器或开发服务器,让配置生效

配置说明:

  • experimentalDecorators:启用TypeScript对装饰器语法的支持
  • emitDecoratorMetadata:允许TypeScript为装饰器生成元数据,这是TypeGraphQL实现类型反射功能的必要配置

错误详情:

x Expression expected
   ,-[C:\Users\meowt\OneDrive\Desktop\2023next\next-gql-dogs\pages\api\graphql.ts:2:1]
 2 | import "reflect-metadata";
 3 | import { buildSchema, Resolver, Query, Arg, ObjectType, Field, ID } from "type-graphql";
 4 | 
 5 | @ObjectType()
   : ^

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 13:05:21