Strapi构建时报GraphQLError语法错误:Expected Name, found "}"如何解决
Strapi 启动时
GraphQLError: Syntax Error: Expected Name, found "}" 问题排查方案 该错误本质是Strapi自动生成的GraphQL Schema存在语法异常,即使你自行编写的GraphQL代码没有语法错误,也可能因为内容配置、插件注入等问题导致生成的最终Schema出现语法问题,可按以下优先级排查:
定位Schema第2083行附近的语法异常
直接打开你导出的完整生成后Schema文件,跳转到2083行,查看上下3行的内容,常见错误场景包括:- 字段定义末尾多写了多余的
} - 字段定义缺失字段名,比如直接写
{ String }而非fieldName: String - 枚举、自定义类型的闭合括号异常,多了一个无效的闭合
}
- 字段定义末尾多写了多余的
排查Strapi内容类型配置问题
该类错误90%以上由内容类型配置异常触发,无需优先排查手写GraphQL代码:- 检查最近新增/修改的内容类型,是否存在未填写字段名就保存的配置项
- 检查是否有字段设置了自定义GraphQL输出,类型定义部分缺失字段名称
- 检查是否有已删除/隐藏的内容类型,关联字段未同步删除,导致生成Schema时出现空的字段定义块
排查自定义扩展与第三方插件问题
- 临时禁用所有非官方Strapi插件,重启服务确认是否为插件注入的Schema内容异常
- 检查项目
src/extensions/graphql目录下的自定义GraphQL扩展代码,是否存在拼接Schema字符串时多写}的情况
清除缓存重建项目
停止Strapi服务后,删除根目录下的.cache和build文件夹,执行npm run build重新构建后再启动服务,排除缓存导致的Schema生成异常
若完成以上排查后仍未定位问题,可提取2083行上下5行的Schema内容补充到问题中,可进一步定位根因。
内容的提问来源于stack exchange,提问作者Aravin
相关产品推荐
相关产品推荐

