在 Deno 项目中使用 GraphQL 的完整教程

阅读时长 6 分钟读完

GraphQL 是一个新型的 API 查询语言,它可以让前端开发人员更方便地获取服务器数据。在本文中,我们将介绍如何在 Deno 项目中使用 GraphQL。这个教程将会深入探讨 GraphQL 的基本原理,以及如何在 Deno 中构建 GraphQL 服务器和客户端。

GraphQL 的基本原理

GraphQL 的设计思想是让 API 查询变得更加灵活和高效。它的基本原理是让客户端指定需要查询或修改的数据的结构和类型,而不是像传统的 RESTful API 那样按照资源 URI 来访问数据。简单来说,GraphQL 常用来描述客户端与服务器之间的数据交互。

GraphQL 查询语言具有非常强的表达能力。它不仅可以查询数据,还可以对数据进行过滤、排序和分页等操作。同时,GraphQL 还支持订阅和实时更新等实时数据操作。

在 Deno 中构建 GraphQL 服务器

首先,我们需要安装 Deno 并创建一个新的 Deno 项目。建议使用 Deno 1.14 或以上版本。

安装 Deno:

安装完成之后,我们可以使用以下命令来创建一个新的 Deno 项目:

接下来,我们需要安装一些必要的依赖,包括 GraphQL 和 Oak。

接下来,我们需要创建一个新的 TypeScript 模块,用于定义 GraphQL 模式。在本例中,我们将创建一个简单的模式,用于处理唯一的查询:“hello” 。

-- -------------------- ---- -------
-- ---------
------ -
  ------------------
  --------------
  -------------
- ---- ------------------------------------------
---- -------------- - -------------------
  -------- -------
---

----- -------------- -------------- - --- -------------------
  ----- --------
  ------- -- -- --
    ------ -
      ----- --------------
      --------- -
        ------ ------- ----------
      --
    --
  ---
---

------ ----- ------ - --- ---------------
  ------ --------------
---

接下来,我们需要创建一个 HTTP 服务器。我们可以使用 Oak 中的 Application 类来实现。在本例中,我们将使用 /graphql 路由来处理 GraphQL 查询。

-- -------------------- ---- -------
-- ---------
------ - ------------ ------ - ---- ---------------------------------
------ - ------------ - ---- ------------------------------------------
------ - ------ - ---- --------------
----- ------ - --- ---------
----- --- - --- --------------
----- -------------- - ----- --------------
  -------
  ----- -----------
  ------- -------
  ------ -----
---

---------------------- ------------------------ ---------------------------------
-------------------------
---------------------------------

------------------ ------ --- ------------------------

----- ------------ ----- ---- ---

现在,我们已经完成了 GraphQL 服务器的构建。接下来,我们来测试一下它是否正常工作。

使用以下命令启动服务器:

然后,在浏览器中访问 http://localhost:8000/graphql 。输入以下查询语句:

如果一切正常,你应该会得到以下响应:

如果你得到了正确的响应,那么恭喜你,你已经成功地创建了一个 GraphQL 服务器!

在 Deno 中构建 GraphQL 客户端

在前端中使用 GraphQL 最常见的方式就是使用 Apollo 客户端。目前,Apollo 客户端还不完全支持 Deno。但是,我们可以使用其他的 Deno GraphQL 客户端,例如 graphql-request。在本例中,我们将使用 graphql-request 客户端来进行示例。

首先,我们需要安装 graphql-request 客户端:

接着,我们需要编写一个 TypeScript 模块,用于定义 GraphQL 查询。在本例中,我们将编写一个简单的查询,用于从我们的 GraphQL 服务器获取一条欢迎消息。

现在,我们可以使用此查询在 Deno 中构建 GraphQL 客户端。在本例中,我们将在控制台中打印欢迎消息。

最后,我们可以使用以下命令来运行客户端:

如果一切正常,你将在控制台中看到以下输出:

这说明我们已经成功地创建了一个 Deno 中的 GraphQL 客户端!

总结

在本文中,我们介绍了如何在 Deno 项目中使用 GraphQL。我们讲解了 GraphQL 的基本原理,并展示了如何在 Deno 中构建 GraphQL 服务器和客户端。希望这个教程对你有所帮助,让你能够更好地了解如何使用 GraphQL 构建现代化的 Web 应用程序。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/651b86cb95b1f8cacd32d059

纠错
反馈