我正在 Gatsbyjs 中构建一个站点,该站点通过 gatsby-source-contentful 插件获取信息,但我正在努力解决 graphql 方面的问题。
例如,如果我在 Contentful 中有一个内容模型,其中包含一个字段来覆盖默认描述 - 那么如果没有任何内容使用该内容,如果我尝试将它包含在我的查询中,graphql 会抛出错误。
反正有没有短路graphql查询?
示例
{
allContentfulPage {
edges {
node {
title
description {
description
}
}
}
}
}
如果不存在带有描述的页面模型,这将中断,但是一旦页面获得描述,它就会起作用。
最佳答案
Gatsby 从 Contentful 中提取数据,然后构建一个内部“模型”,展示来自 Contenful 的数据的样子。 Contentful API 是 REST,但 Gatsby 在内部使用 GraphQL。
如果某个字段在 Contentful 上没有值,则它不会成为 Gatsby 中生成的 GraphQL 查询的一部分。解决方案是在您的记录之一中推送单个值。
关于graphql - GatsbyJs - 如何从 Contentful 插件处理空的 graphql 节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47373455/