如何使用 Deno 进行微服务开发

Deno 是一个安全的运行时环境,用于在 JavaScript 和 TypeScript 上构建可伸缩的服务端应用程序。与 Node.js 不同,它允许您在浏览器外部编写模块和应用程序,并提供一组内置的优秀功能和开箱即用的工具。在本文中,我们将学习如何使用 Deno 进行微服务开发。

安装 Deno

要使用 Deno 进行微服务开发,您需要安装它。您可以在 Deno 官网上下载适合您操作系统的安装包或使用 Deno 安装器。例如,如果您正在 macOS 上运行,则可以使用以下命令安装:

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

测试安装是否成功可以输入以下命令进行测试:

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

创建一个微服务

我们将从创建一个简单的 Deno 微服务开始。让我们在项目目录中创建一个名为 app.js 的文件,并在其中添加以下代码:

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

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

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

在这里,我们导入用于创建服务器的 serve 函数,然后通过传递一个端口号来创建一个服务器实例。接下来,我们在服务器上循环等待 incoming requests,并使用请求对象的 respond 方法返回响应。我们可以使用以下命令运行这个程序:

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

现在,我们可以通过访问 http://localhost:8080/ 来测试这个服务器是否工作正常,应该会看到浏览器显示 Hello Deno! 的页面。

使用中间件

现在,我们已经了解了如何创建一个简单的 Deno 微服务,接下来我们将学习如何使用中间件来扩展服务器的功能。让我们创建一个名为 logger.ts 的文件,并在其中添加以下代码:

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

  -------
-

这个中间件简单地记录下请求的 HTTP 方法和 URL 并调用下一个中间件。接下来,我们需要将这个中间件添加到我们的服务器中。让我们将 app.js 文件修改为:

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

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

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

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

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

在这里,我们使用了 Oak 框架,并在服务器上使用了 use 方法添加了我们刚刚编写的中间件,然后又添加了一个匿名函数,用于返回响应。运行这个程序时使用以下命令:

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

然后,我们可以再次通过访问 http://localhost:8080/ 来测试这个服务器是否工作正常,同时我们还可以在控制台中看到 Logger 输出的日志信息。

使用数据库

现在我们已经了解了如何使用 Deno 创建微服务并使用中间件,下面我们将学习如何使用 MongoDB 等常见数据库扩展服务器功能。

让我们安装 MongoDB 的 Deno 包,并为我们的应用程序配置 MongoDB 连接。首先,我们可以使用如下命令安装 MongoDB 的 Deno 包:

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

创建一个名为 database.ts 的文件,并将以下代码添加到其中:

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

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

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

这个文件主要负责连接 MongoDB 数据库。接下来,我们可以在我们的服务器代码 app.js 中添加以下代码:

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

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

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

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

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

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

在这里,我们使用 Oak 框架和 MongoDB 的 Deno 包,定义了一个名为 router 的 Router 中间件,并使用了 OakMongo 对象在路由中与 MongoDB 进行交互。

我们在路由中定义了一个 GET 请求,获取了数据库中所有的用户,并将其发送回响应。最后,我们使用 use 方法添加路由和允许的方法并启动服务器。您可以使用以下命令运行程序:

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

通过访问 http://localhost:8080/ 可以查看路由返回的数据。

结论

现在,我们已经了解了如何使用 Deno 创建微服务并使用中间件和 MongoDB 等常见数据库。我们还仅仅涉及了 Deno 的一些基本功能,您可以在实践中发现 Deno 的更多有趣特性。

这只是前端微服务开发的一个简短示例,Deno 的使用远不止于此。希望这篇文章为您提供了有关如何使用 Deno 进行微服务开发的深度和指导性知识。要了解更多有关 Deno 的用例和功能的信息,请访问 Deno 的官方文档。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/67163487ad1e889fe21b5435