Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在gatsby中管理graphql验证,以解决有内容而不返回无内容的内容模型的问题_Javascript_Graphql_Gatsby_Contentful_Contentful Management - Fatal编程技术网

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

Javascript 在gatsby中管理graphql验证,以解决有内容而不返回无内容的内容模型的问题,javascript,graphql,gatsby,contentful,contentful-management,Javascript,Graphql,Gatsby,Contentful,Contentful Management,我们正在开发一个大型CMS,使用与盖茨比的Continful。由于立法内容的原因和开发新功能的大量环境,这个内容丰富的安装有2个空间。目前,我们的流程是使用contentful的迁移工具为contentful中的新内容模型和/或内容模型更改创建迁移,并将其存储在源代码管理中。合并后,我们的CI工作流将这些内容模型更改迁移到我们两个空间的主环境中 我们遇到的一个问题是,由于contentful管理API的一个怪癖,任何没有内容注册的内容模型都不存在,因此我们需要为一些内容模型更改创建种子内容。这会

我们正在开发一个大型CMS,使用与盖茨比的Continful。由于立法内容的原因和开发新功能的大量环境,这个内容丰富的安装有2个空间。目前,我们的流程是使用contentful的迁移工具为contentful中的新内容模型和/或内容模型更改创建迁移,并将其存储在源代码管理中。合并后,我们的CI工作流将这些内容模型更改迁移到我们两个空间的主环境中

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

  • 由于ID不同,需要通过ID引用现有内容的种子内容将在空格之间中断
  • 如果我们花一段时间开发一个特性,我们的环境将落后于主环境,更新我们的临时开发环境可能会非常耗时和笨拙,具体取决于主环境的更改级别
  • 最后,我们的空间中有大量的虚拟内容,使我们的内容空间变得杂乱无章
我们正在试验几种解决方案,但首选的解决方案是自己简单地处理graphql验证中的错误。在对gql验证进行了一些实验之后,删除了一些内部规则,对contentful的调用实际上并没有破坏应用程序。所有中断错误都来自验证步骤。理想的做法是“关闭”验证规则
NoUndefinedVariables
,这是唯一导致我们出现问题的规则。我所说的“关机”是指仅显示一条关于断开错误的警告。然后,我们将自己处理应用程序中未定义的或空的值

我看不到任何通过gatsby的开发者界面(gatsby节点、gatsby配置等)处理gql验证的方法。最好的处理方法是什么