You need to enable JavaScript to run this app. Gatsby搭建Contentful博客报#11322错误:创建页面未传组件路径
优惠活动
大模型
产品
解决方案
定价
更多

Gatsby搭建Contentful博客报#11322错误:创建页面未传组件路径

问题根源
  • 报错的直接触发原因是gatsby-node.js内调用createPage方法时,传入的字段名不符合Gatsby的参数规范。Gatsby要求指定模板组件路径的字段必须是单数形式的component,你错写成了复数的components,Gatsby无法解析到对应的模板路径,因此抛出“创建页面时未传入组件路径”的错误。
修复操作
  • 打开项目根目录的gatsby-node.js文件,找到createPage的调用块
  • 将原代码里的components: blogPost, 一行修改为 component: blogPost,,仅删掉字段名末尾多余的字母s即可
  • 保存修改后重新执行gatsby develop,原有报错即可消失
可同步修正的逻辑问题

当前代码里的文章导航上下篇取值逻辑是反向的,会导致前端“上一篇/下一篇”的链接指向不符合预期:

  • 原代码中会把发布时间更晚的文章标记为“上一篇”,更早发布的文章标记为“下一篇”
  • 可将对应取值逻辑修正为:
    // 遍历文章列表生成页面关联关系
    posts.forEach((post, index) => {
      // 上一篇:列表中排在当前条目之前的内容
      const previous = index === 0 ? null : posts[index - 1].node
      // 下一篇:列表中排在当前条目之后的内容
      const next = index === posts.length - 1 ? null : posts[index + 1].node
    
      createPage({
        path: post.node.slug,
        component: blogPost, // 修正后的正确字段名
        context: {
          slug: post.node.slug,
          previous,
          next,
        },
      })
    })
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.01 04:06:08