Gatsby 站点地图:GraphQLError:语法错误:预期名称,找到 <EOF>
Posted
技术标签:
【中文标题】Gatsby 站点地图:GraphQLError:语法错误:预期名称,找到 <EOF>【英文标题】:Gatsby sitemap: GraphQLError: Syntax Error: Expected Name, found <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,
;
,
,
,
【问题讨论】:
【参考方案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,
;
,
,
,
由于查询对象的格式不正确,它会抛出语法(<EOF>
,文件结尾)异常。
其余的应该单独工作。
【讨论】:
以上是关于Gatsby 站点地图:GraphQLError:语法错误:预期名称,找到 <EOF>的主要内容,如果未能解决你的问题,请参考以下文章
如何获取站点地图 Gatsby 的静态文件的更新/lastmod 值