GatsbyJs - 如何处理来自 Contentful 插件的空 graphql 节点

GatsbyJs - How to handle empty graphql node from Contentful plugin

我正在 Gatsbyjs 中构建一个站点,该站点通过 gatsby-source-contentful 插件获取信息,但我正在努力处理 graphql 方面的问题。

如果我在 Contentful 中有一个 Content 模型,其中包含一个字段来覆盖默认描述,例如 - 那么如果 none 内容使用它,但如果我尝试将它包含在我的中,graphql 会抛出错误查询。

有没有办法短路 graphql 查询?

例子

{
  allContentfulPage {
    edges {
      node {
        title
        description {
           description
        }
      }
    }
  }
}

如果不存在带有描述的页面模型,这将中断,但只要一个页面获得描述,它就会工作。

Gatsby 从 Contentful 中提取数据,然后构建一个内部 "model" 来描述 Contenful 中的数据。 Contentful API 是 REST 但 Gatsby 在内部使用 GraphQL。

如果某个字段在 Contentful 上没有值,那么它将不会成为 Gatsby 中生成的 GraphQL 查询的一部分。解决方案是在您的一条记录中推送单个值。