Gatsby js 中的站点地图生成问题

Problem with sitemap generation in Gatsby js

我在为我的网站创建站点地图时遇到问题。 这是 gatsby-config.js 内容:

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`,
  ],
}
当我想要构建项目时出现此错误:

注意:当我不添加这样的选项时:

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`,
  ],
}

一切正常,但不能满足我的需求(所有页面的优先级都相同 0.7)


解决了!此代码不适用于 3.3.0 以上的版本,因此我将站点地图插件从 4.9.0 降级到 3.3.0,现在效果很好。

对于那些可能面临问题的人:通过将插件降级到 4.9.0(导致问题的那个)之前的 3.3.0 版本解决了这个问题。

https://www.npmjs.com/package/gatsby-plugin-sitemap/v/3.3.0