什么是 @graphql-toolkit/url-loader?
@graphql-toolkit/url-loader 是一个 NPM 包,它允许您在运行时从 URL 中加载 GraphQL 页面和查询。使用该工具包,您可以轻松地将 GraphQL 程序集从 URL 中加载到运行时环境中。
安装
要使用 @graphql-toolkit/url-loader,您需要将其安装为依赖项。可以通过运行以下命令完成此操作:
--- ------- ---------------------------
使用
加载 GraphQL 文档
下面是一个简单的例子,展示了如何使用 @graphql-toolkit/url-loader 加载从URL中检索的 GraphQL 文件:
----- - --- - - --------------- ----- ----- - ---------------------- ----- - ---------- - - --------------------------------------- ----- --- - --- -------------------------------------------------- ----- -------- ----- - ----- ------ - ----- -------------------------- - -------- ----- --- -------------------- - ------
上述代码演示了如何使用 loadSchema 函数从 URL 中加载 GraphQL 程序集,并使用 node-fetch 库来执行实际的 HTTP 请求。要使用 fetch 库,需要在您的项目中将其安装为依赖项。
加载 GraphQL 查询
@graphql-toolkit/url-loader 也提供了一种方便的方式,用于从 URL 中加载 GraphQL 查询。下面是一个简单的示例:
----- - --- - - --------------- ----- ----- - ---------------------- ----- - ------------- - - --------------------------------------- ----- --- - --- ------------------------------------------------- ----- -------- ----- - ----- --------- - ----- ----------------------------- - -------- ----- --- ----------------------- - ------
如您所见,此代码将通过 loadDocuments 函数从 URL 中加载 GraphQL 查询,并在控制台中打印查询结果。
更高级的用法
@graphql-toolkit/url-loader 还提供了一些高级用法,例如使用自定义的 fetcher 函数来控制 HTTP 请求,使用自定义的 GraphQL 解析器等。
使用自定义 fetcher
@graphql-toolkit/url-loader 允许您提供自定义的 fetcher 函数,以便在 HTTP 请求期间控制请求/响应过程。例如,您可以使用以下代码使用 axios 库来处理请求:
----- ----- - ----------------- ----- - ---------- - - --------------------------------------- ----- ------------ - ----- ----- -------- -- - ----- -------- - ----- --------------- ------------ -- ---- ------ - ----- ----- -- -- ------------- -- -- ----- -------- ----- - ----- ------ - ----- ----------- --------------------------------------------- - -------- ------------ - -- -------------------- - ------
在上面的示例中,我们使用 axiosFetcher 函数来处理 URL 中的请求,并执行POST请求并返回响应数据。
使用自定义 GraphQL 解析器
默认情况下,@graphql-toolkit/url-loader 使用 @graphql-tools/merge 和/graphql-tools/links包来合并 GraphQL 文档。但是,您可以选择使用自定义合并策略,并使用自定义的解析器来加载文档和架构。
----- - --- - - --------------- ----- ----- - ---------------------- ----- - ---------- - - --------------------------------------- ----- - ----------------- - - ---------------------------------------------- ----- - ------------- - - -------------------------------- ----- --- - --- -------------------------------------------------- ----- -------- ----- - ----- ------ - ----- -------------------------- - -------- ------ -------- - --- ------------------- -- -- --- ---- -- ---- ---- ----- ------- -- ---- -- ------ ------- -------- -- -------------------- --------- --- -------------------- - ------
在上面的示例中,我们将 loadSchema 函数的一个可选参数 merge 的值设置为自定义合并函数。要确保在运行脚本之前安装 @graphql-tools/merge 包。
结论
@graphql-toolkit/url-loader 是一个非常有用的工具包,它允许您从 URL 中加载GraphQL 架构和查询,并在运行时环境中使用这些资产。无论您是在开发 GraphQL API 还是使用GraphQL 查询构建前端应用程序,此工具包都应该成为您工具箱中的一员。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/5eedaeb8b5cbfe1ea0610ec0