GraphQL 是一种用于 API 开发的查询语言和运行时环境。Deno 是一个现代化的 JavaScript 运行时,可以用于服务器端和客户端的开发。在本文中,我们将学习如何利用 Deno 实现 GraphQL 服务器和客户端。
准备工作
在开始学习之前,需要先安装 Deno。可以从 https://deno.land/ 下载最新版本的 Deno。安装完成后,可以在终端中输入以下命令来验证:
- ---- ---------
可以看到输出了 Deno 的版本信息。
安装 GraphQL 库
可以使用 Deno 内置的模块库管理器来安装 GraphQL 库。在终端中输入以下命令:
- ---- ------- ----------- ------------ ------------------------------ - ---- ------- ----------- ------------ -------------------------------
第一条命令用来安装 Oak,它是一个基于 Deno 的 Web 框架;第二条命令用来安装 GraphQL 库。
实现 GraphQL 服务器
以下是一个简单的 GraphQL 服务器实现。首先,创建一个名为 server.ts
的文件。
------ - ------------ ------ - ---- --------------------------------- ------ - -------- ----------- - ---- ---------------------------------- -- -- ------- ------ ----- ------ - ------------- ---- ----- - ------ ------ - --- -- -- --------- ----- ---- - - ------ -- -- - ------ ------ -------- -- -- -- ------ ----- --- - --- -------------- -- ------ ----- ------ - --- --------- -- -- ------- -- ----------------------- ----- ----- -- - ----- ----------- - ----- ------------------------- ----- - ----- - - ------------------------ ----- -------- - ----- --------- ------- ------- ------ ---------- ---- --- ----------------- - --------- --- -- ---- ------------------------- --------------------------------- -- ----- ------------------- ------- -- ------------------------ ----- ------------ ----- ---- ---
在这个例子中,我们使用 GraphQL 的 buildSchema
方法来定义 schema。其中,我们定义了一个名为 hello
的查询,它返回一个字符串。我们还定义了一个名为 root
的对象,它包含了一个名为 hello
的函数,它返回字符串 "Hello World!"
。最后,我们创建了一个 HTTP 服务器实例,并处理了 GraphQL 请求。
启动服务器:
- ---- --- ----------- ---------
现在,在浏览器中输入 http://localhost:8000/graphql 地址,可以看到 GraphQL Playground,可以在左侧的面板中输入查询语句:
----- - ----- -
点击运行按钮,可以看到返回结果:
- ------- - -------- ------ ------- - -
实现 GraphQL 客户端
以下是一个简单的 GraphQL 客户端实现。首先,创建一个名为 client.ts
的文件。
------ - ---- - ---- ------------------------------------ -- ------- -- ----- ----- - - ----- - ----- - -- -- -- ------- -- ----- -------- - ----- ------------------------------------- - ------- ------- ----- ---------------- ----- --- --- -- ---- ----- ------------ - ----- ---------------- -------------------------------------
在这个例子中,我们使用 Deno 内置的 send
函数来发送 GraphQL 查询。我们发送的查询与上一节中类似,也是查询 hello
字段。发送完毕后,我们处理响应,并输出结果。
运行客户端:
- ---- --- ----------- ---------
可以看到输出了字符串 "Hello World!"
。
总结
本文介绍了如何使用 Deno 实现 GraphQL 服务器和客户端。我们使用了 Deno 内置的模块库管理器来安装 GraphQL 库,并使用了 buildSchema
和 graphql
方法来定义 schema 和处理 GraphQL 请求。此外,我们还使用了 Deno 内置的 send
函数来发送 GraphQL 查询。这些技术可以帮助我们更方便地开发 GraphQL 应用程序。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/65ab4594add4f0e0ff4e596c