Graphql 盖茨比评论插件:创建的节点对GraphIQL可见,但盖茨比页面上的查询返回null

Graphql 盖茨比评论插件:创建的节点对GraphIQL可见,但盖茨比页面上的查询返回null,graphql,gatsby,Graphql,Gatsby,我正在为盖茨比变形金刚开发一个插件。在我的插件中,我从Remark transformer中获取数据,并创建一个新类型的graphql节点。当我启动站点并在打开GraphIQL时,我可以看到插件的新节点及其数据。但是,当我尝试访问Gatsby页面组件中该节点的数据时,graphql查询会为该节点类型返回null。为什么数据没有出现在我的页面上的graphql查询中?我不能在备注插件中创建新的graphql节点吗?gatsby插件API提供了创建节点的必要方法 我有一个最低限度的复制回购在这个环节

我正在为盖茨比变形金刚开发一个插件。在我的插件中,我从Remark transformer中获取数据,并创建一个新类型的graphql节点。当我启动站点并在打开GraphIQL时,我可以看到插件的新节点及其数据。但是,当我尝试访问Gatsby页面组件中该节点的数据时,graphql查询会为该节点类型返回null。为什么数据没有出现在我的页面上的graphql查询中?我不能在备注插件中创建新的graphql节点吗?gatsby插件API提供了创建节点的必要方法

我有一个最低限度的复制回购在这个环节。自述文件中提供了运行它和查看问题的说明

我使用
createNode
方法在
plugins/gatsby internal toc/index.js
中创建graphQL节点:

if(headers.length>0){
const{createNode}=操作;
常数头节点={
标题:标题,
路径:markdownNode.frontmatter.path,
id:createNodeId(`${markdownNode.frontmatter.path}.${markdownNode.frontmatter.title}`),
儿童:[],
内部:{
description:`markdownNode.fileAbsolutePath}的标题和链接`,
键入:“TopicInternalHeaders”,
contentDigest:createContentDigest(标题),
内容:JSON.stringify(标题),
}
};
等待createNode(headingNode);
}
我使用Gatsby
develop
命令启动站点。然后打开graphIQL并运行以下查询:

query MyQuery {
  topicInternalHeadings(path: {eq: "/mypage.html"}) {
    headings {
      level
      path
      text
    }
  }
}
查询返回
topicInternalHeadings
节点的数据

然后我打开
http://localhost:8000/myPage.html
其中有一个类似的查询。但是,其查询结果如下:

{markdownRemark: {…}, topicInternalHeadings: null}
预期结果 我在插件中创建的graphql节点数据可用于Gatsby页面上的graphiql和graphql查询

实际结果
节点数据可供graphiql使用,但Gatsby页面上的graphql查询返回空值。

感谢您抽出时间整理一份复制报告!不幸的是,我无法重现,
topicInternalQuery
在GraphiQL中对我来说也是
null
。这可能是一个缓存问题,你能试试
gatsby clean
并告诉我这是否解决了它吗?奇怪的是,我运行了
gatsby clean
,然后
gatsby develop
,我看到了GraphiQL中的数据。不确定会发生什么,我们会看到不同的结果。不同版本的盖茨比?我已将盖茨比更新为2.19.12,并将盖茨比变压器备注更新为2.6.50。我提交了我的Thread.lock文件,所以也许可以尝试使用它。感谢您花时间整理复制回购!不幸的是,我无法重现,
topicInternalQuery
在GraphiQL中对我来说也是
null
。这可能是一个缓存问题,你能试试
gatsby clean
并告诉我这是否解决了它吗?奇怪的是,我运行了
gatsby clean
,然后
gatsby develop
,我看到了GraphiQL中的数据。不确定会发生什么,我们会看到不同的结果。不同版本的盖茨比?我已将盖茨比更新为2.19.12,并将盖茨比变压器备注更新为2.6.50。我提交了我的warn.lock文件,所以也许可以尝试使用它。