Gatsby中Strapi集合类型节点缺失,单类型正常显示求助
解决Gatsby中Strapi集合类型节点不显示的问题
以下是几个针对性的排查和解决步骤:
检查collectionTypes的名称是否匹配Strapi内部ID
Strapi的集合类型API路径是复数形式(比如/api/heronodes),但Gatsby插件需要的是Strapi后台里的内容类型ID(通常是单数)。登录Strapi后台,进入「设置」→「内容类型构建器」,查看你的集合类型ID(比如如果集合类型叫heronode,ID就是单数的heronode)。把gatsby-config.js里的配置改成单数:collectionTypes: ['heronode'], // 替换原来的heronodes singleTypes: ['message', 'intro', 'hero', 'footer'],清理Gatsby缓存并重启项目
Gatsby的缓存可能导致新添加的集合类型无法被识别,执行以下命令:gatsby clean gatsby develop重启后再打开GraphQL playground,查看是否出现
allStrapiHeronode或strapiHeronode这类节点。确认插件版本兼容
如果你的Strapi是v4及以上版本,要确保gatsby-source-strapi插件是v4适配版。检查package.json里的插件版本,若版本过低,重新安装最新版:npm install gatsby-source-strapi@latest验证Strapi内容类型的字段配置
虽然API能返回数据,但如果集合类型的字段存在配置异常(比如未发布的字段、类型错误),也可能导致Gatsby无法生成对应的GraphQL节点。进入Strapi后台的集合类型编辑页面,确认所有字段都已正确配置并发布。
内容的提问来源于stack exchange,提问作者user2371684
相关产品推荐
相关产品推荐

