【问题标题】:Gatsby sitemap: GraphQLError: Syntax Error: Expected Name, found <EOF>Gatsby 站点地图:GraphQLError:语法错误:预期名称,找到 <EOF>
【发布时间】:2021-11-10 03:44:49
【问题描述】:

我一直试图让 gatsby 站点地图插件工作一段时间,但我无法弄清楚我在这里做错了什么。首先我无法拉出site.siteMetadata.siteTitle,所以我必须用一个函数来设置它。现在,我无法将页面添加到站点地图。是的,我已经在 Graphiql 中多次测试过该查询,并且可以正常工作。

我收到以下错误,下面是我的站点地图配置(只是试图让页面暂时正常工作):

"gatsby-plugin-sitemap" threw an error while running the onPostBuild lifecycle:

Syntax Error: Expected Name, found <EOF>.

  40 |             output = _ref2.output, entryLimit = _ref2.entryLimit, query = _ref2.query, excludes =
_ref2.excludes, resolveSiteUrl = _ref2.resolveSiteUrl, resolvePagePath = _ref2.resolvePagePath,
resolvePages = _ref2.resolvePages, filterPages = _ref2.filterPages, serialize = _ref2.serialize;
  41 |             _context.next = 4;
> 42 |             return graphql(query);
     |                    ^
  43 |
  44 |           case 4:
  45 |             _yield$graphql = _context.sent;

File: node_modules/gatsby-plugin-sitemap/gatsby-node.js:42:20
{
      resolve: `gatsby-plugin-sitemap`,
      options: {
        query: `{
          site {
          siteMetadata {
            siteUrl
          }
        }
        allSitePage {
          nodes {
            path
          }
        }
        allMarkdownRemark {
          edges {
            node {
              frontmatter {
                slug
              }
            }
          }
        }`,
        resolveSiteUrl: siteUrl,
        resolvePages: ({ allSitePage: {nodes: allPages} }) => {
          return allPages.map(page => {
            return { ...page }
          })
        },
        serialize: ({ path }) => {
          return {
            url: path,
            priority: 0.7,
          };
        },
      },
    },

【问题讨论】:

    标签: javascript graphql gatsby gatsby-plugin


    【解决方案1】:

    我认为您在查询末尾缺少}

    {
          resolve: `gatsby-plugin-sitemap`,
          options: {
            query: `{
              site {
                siteMetadata {
                  siteUrl
                }
              }
              allSitePage {
                nodes {
                  path
                }
              }
              allMarkdownRemark {
                edges {
                  node {
                    frontmatter {
                      slug
                    }
                  }
                }
              }
            }`,
            resolveSiteUrl: siteUrl,
            resolvePages: ({ allSitePage: {nodes: allPages} }) => {
              return allPages.map(page => {
                return { ...page }
              })
            },
            serialize: ({ path }) => {
              return {
                url: path,
                priority: 0.7,
              };
            },
          },
        },
    

    由于查询对象的格式不正确,它会抛出语法(&lt;EOF&gt;,文件结尾)异常。

    其余的应该单独工作。

    【讨论】:

      猜你喜欢
      • 2019-11-12
      • 2021-12-09
      • 2019-04-05
      • 2020-04-18
      • 2022-01-15
      • 2019-01-23
      • 2019-10-09
      • 2021-02-18
      • 2023-03-31
      相关资源
      最近更新 更多