如何在节点和盖茨比页面之间共享 GraphQL 片段?



在开发Gatsby页面/视图时,有一个graphql模板文字可用。不知道它到底来自哪里。

当使用 Gatsby 节点 api (gatsby-node.js) 创建页面时,graphql解析器被注入到函数中,例如createPages

我想知道如何在页面和节点部分之间共享 GraphQL 片段。 理想情况下,我希望两者都使用模板文字graphql以便我的 IDE 可以理解它的 GraphQL 和线路语法突出显示。目前,我的节点查询是传递给 graphql 函数的纯字符串,我没有自动完成功能。我最终也会遇到查询重复。

我尝试添加/导入官方的 graphql 解析器,但没有取得很大的成功,并且不确定它是否应该以这种方式完成。

理想情况下,我想摆脱页面中可用的全局graphql模板文字,而无需任何导入,并拥有一个真正导入(或需要旧节点版本)的解决方案,以便可以安全地共享它。

知道吗?

有关 graphql 文字,请参阅此解释 https://www.gatsbyjs.org/tutorial/part-four/#wait--where-did-the-graphql-tag-come-from

在片段上,没有办法,因为它不是你通常想做的事情。创建页面时,只需查询要传递给查询数据所需的页面组件的 ID。例如,有一个降价页面,您将ID传递给MarkdownRemark节点。

最新更新