如何在Gatsby JS中查询外部GraphQL端点?

时间:2018-02-14 06:06:15

标签: graphql-js gatsby

我没有看到任何明确的方法来查询外部GraphQL端点(即https://somewebsite.com/graphql)的数据。有没有其他人这样做过,你是怎么做到的?

我认为它需要你构建一个自定义插件,但这对于这样一个简单的需求来说似乎有些过分。我搜索了文档,这个问题并没有得到解决。

3 个答案:

答案 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的中继式查询不兼容。但仍然比构建整个插件更容易。

相关问题