编译时出现graphQL错误

时间:2018-01-09 01:42:46

标签: javascript reactjs graphql gatsby

我正在阅读本教程: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
      }
    }
  }
`
;

编译错误指向日期对象,当我删除它时,日期编译错误消失。我的约会对象有什么问题?

3 个答案:

答案 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”。