我没有看到任何明确的方法来查询外部GraphQL端点(即https://somewebsite.com/graphql)的数据。有没有其他人这样做过,你是怎么做到的?
我认为它需要你构建一个自定义插件,但这对于这样一个简单的需求来说似乎有些过分。我搜索了文档,这个问题并没有得到解决。
答案 0 :(得分:3)
在Gatsby V2中,您无需创建自己的插件。
您需要的是一个名为gatsby-source-graphql的插件
gatsby-source-graphql使用模式拼接来组合一个 具有Gatsby模式的第三方API。
您可以找到更多信息here.
答案 1 :(得分:2)
正如您所提到的,答案是编写新的源插件。这就是盖茨比如何将数据导入其内部的GraphQL结构然后进行查询。
插件的核心是添加到gatsby-node,gatsby-browser和gatsby-ssr文件。因此,您可以在gatsby-node文件的顶部编写所需的逻辑,以避免将其抽象为自己的插件。
答案 2 :(得分:0)
如果您不像我一样为gatsby编写插件,请查看here。
它详细解释了如何通过Gatsby sourceNode
API查询任何graphQL服务器以及使用graphql-request。
帮助我获取数据,例如来自graph.cool以及GraphCMS。
问题是你总是需要编写2种不同类型的graphQL查询,因为它们通常与Gatsby的中继式查询不兼容。但仍然比构建整个插件更容易。