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

Gatsby.js配置gatsby-plugin-sitemap生成站点地图报错如何解决

Gatsby.js自定义gatsby-plugin-sitemap插件构建报错解决方案

问题背景

使用Gatsby.js开发站点时,需要自定义配置gatsby-plugin-sitemap插件生成站点地图,调整页面优先级,配置完成后执行项目构建出现报错。

问题复现

自定义配置代码(报错版本)

module.exports = {
  siteMetadata: {
    siteUrl: `https://www.mywebsite.com`,
  },
  plugins: [
    {
      resolve: `gatsby-source-filesystem`,
      options: {
        name: `images`,
        path: `${__dirname}/src/images/`,
      },
    },
    {
      resolve: 'gatsby-plugin-sitemap',
      options: {
        excludes: [],
        query: `
        {
          site {
            siteMetadata {
              siteUrl
            }
          }
          allSitePage {
           nodes {
             path
           }
          }
      }`,
        serialize : ({site,allSitePage}) =>
             allSitePage.nodes.map(node => { // this is line 32
                return {
                  url: `${site.siteMetadata.siteUrl}${node.path}`,
                  changefreq: `never`,
                  priority: 0.5,
                }
              })
          },
    },
    'gatsby-plugin-react-helmet',
    `gatsby-plugin-image`,
    `gatsby-plugin-sharp`,
  ],
}

无自定义配置代码(可正常运行版本)

移除插件的自定义配置项后,项目构建运行正常,但默认所有页面优先级为0.7,无法满足自定义需求,配置如下:

module.exports = {
  siteMetadata: {
    siteUrl: `https://www.mywebsite.com`,
  },
  plugins: [
    {
      resolve: `gatsby-source-filesystem`,
      options: {
        name: `images`,
        path: `${__dirname}/src/images/`,
      },
    },
    'gatsby-plugin-sitemap',
    'gatsby-plugin-react-helmet',
    `gatsby-plugin-image`,
    `gatsby-plugin-sharp`,
  ],
}

问题原因

上述自定义配置写法仅兼容3.3.0及以下版本的gatsby-plugin-sitemap插件,4.0及以上版本(本次使用版本为4.9.0)不支持该配置写法。

解决方案

将gatsby-plugin-sitemap插件版本从4.9.0降级至3.3.0,即可正常使用该自定义配置生成符合要求的站点地图。


内容的提问来源于stack exchange,提问作者othmane-be

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 04:36:04