Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.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
删除另一个插件拥有的类型的gatsby节点时出错_Gatsby - Fatal编程技术网

删除另一个插件拥有的类型的gatsby节点时出错

删除另一个插件拥有的类型的gatsby节点时出错,gatsby,Gatsby,我得到以下错误: Error: The plugin "default-site-plugin" deleted a node of a type owned by another plugin. The node type "community_education__district_classes" is owned by "gatsby-source-apiserver". 我知道我得到了这个错误,因为我使用的是gatsby源apiserver,它返回我不想要的节

我得到以下错误:

Error: The plugin "default-site-plugin" deleted a node of a type owned by another plugin.
            The node type "community_education__district_classes" is owned by "gatsby-source-apiserver".

我知道我得到了这个错误,因为我使用的是
gatsby源apiserver
,它返回我不想要的节点。我过滤掉它们,并使用
deleteNode
删除它们。它一直在工作,现在仍然在工作,但我最近升级了我的npm软件包,现在我遇到了这个错误

有没有办法消除这个错误?如果这些节点是由插件自动生成的,那么在我所在的
gatsby node.js
中删除它们对我来说是个坏主意吗?GraphQL是更好的解决方案吗?根据我的自定义需求编辑节点模块似乎也不是一个很好的解决方案

具体代码是这样的,但逻辑更复杂(这就是为什么我选择不添加所有节点,然后使用GraphQL进行过滤的原因)

如果(!node.isValid){
deleteNode({node});
}

我也将这个问题作为GitHub问题发布,答案似乎是,“是的,这是个坏主意。”我重构了代码,使用GraphQL过滤掉不需要的节点

GitHub发布线程:

您是如何管理节点创建的?您是在gatsby-node.js文件中执行此操作,还是在插件中自动执行此操作?我从未遇到过这个错误,但是如果你清楚你是如何删除节点的话,我可能有办法解决这个问题。
gatsby-source-apiserver
会在插件本身中自动生成节点。我正在
gatsby node.js
Ok中使用
deleteNode
。这可能有助于其他人发布gatsby-node.js文件的该部分代码相对复杂,我不确定它能增加多少清晰度,因此我添加了一些伪代码作为示例。当然。只是说说而已。这个网站上的人倾向于以任何一种方式索取源代码。如果没有什么可回顾的,很多人只是点击后退按钮。