我正在阅读本教程:https://www.gatsbyjs.org/blog/2017-07-19-creating-a-blog-with-gatsby/
我已完成所有操作,并且我收到了graphQL编译错误:
GraphQL Error There was an error while compiling your site's GraphQL queries.
Invariant Violation: GraphQLParser: Unknown argument `formatString`.
Source: document `BlogPostByPath` file: `GraphQL request`.
这是我的问题:
export const pageQuery = graphql`
query BlogPostByPath($path: String!) {
markdownRemark(frontmatter: { path: { eq: $path } }) {
html
frontmatter {
date(formatString: "MMMM DD, YYYY")
path
title
}
}
}
`
;
编译错误指向日期对象,当我删除它时,日期编译错误消失。我的约会对象有什么问题?
答案 0 :(得分:2)
您的约会对象date(formatString: "MMMM DD, YYYY")
本身没有任何问题。
相反,请检查您的降价文件,并确保您在frontmatter中使用正确的格式。我认为你的问题源于此。
<强>示例:强>
这样的日期(一年中没有第77个月)会抛出你得到的错误:
---
path: "/hello-world"
date: "2017-77-12"
title: "My First Gatsby Post"
---
同样地,像这样的日期(一个月内没有第88天)也会引发你得到的错误:
---
path: "/hello-world"
date: "2017-07-88"
title: "My First Gatsby Post"
---
这些都是极端的例子,但我认为你现在已经抓住了我的漂移,所以尝试修复你的前置日期,以便月,日和年具有日历意义。
答案 1 :(得分:0)
我有一个类似的问题;按照建议修复了所有日期,但错误仍然存在。在测试时,我正在Powershell中运行:
gatsby develop
我停止了使用 CTRL-C 和Y
取消的操作,重新启动了gatsby开发服务器,然后查询开始工作。在开发模式下,gatsby会缓存某些内容,而这并不是对我的文件进行最重要的更改。
答案 2 :(得分:-3)
它应该是“MMM”而不是“MMMM”。