在gatsby中管理graphql验证,以解决有问题但不返回没有内容的内容模型的问题

时间:2020-02-04 12:57:48

标签: javascript graphql gatsby contentful contentful-management

我们正在使用满足于盖茨比的大型CMS。由于立法内容的原因以及用于开发新功能的多种环境,此有意义的安装有2个空格。当前,我们的流程是使用Contentful的迁移工具为Contentful中的新内容模型和/或内容模型变更创建迁移,并将其存储在源代码管理中。合并后,我们的CI工作流会将这些内容模型更改迁移到我们两个空间的主环境中。

我们遇到的一个问题是,由于内容管理API的古怪之处,即没有任何内容注册的内容模型都不存在,我们需要为某些内容模型更改创建种子内容。这会产生以下问题:

  • 需要通过id引用现有内容的种子内容会在空格之间中断,因为id会有所不同
  • 如果我们花一点时间开发功能,我们的环境将落后于主环境,而更新临时开发环境可能既费时又笨拙,具体取决于对主环境所做的更改级别
  • 我们最终在我们的空间中加载了虚拟内容,使我们的内容空间变得不整洁

我们正在尝试一些解决方案,但首选的解决方案是简单地自行处理graphql验证产生的错误。在对gql验证进行了一些试验之后,删除了一些内部规则,对内容的调用实际上并没有破坏应用程序。所有重大错误仅来自验证步骤。理想的做法是“关闭”验证规则NoUndefinedVariables,这是唯一导致我们遇到问题的规则。通过关闭,我的意思是只显示关于错误的警告。然后,我们将自己处理应用程序中未定义或为空的值。

我看不到通过gatsby的开发者界面(gatsby-node,gatsby-config等)来处理gql验证的任何方法。处理此问题的最佳方法是什么?

0 个答案:

没有答案