使用 Deno 构建服务器端 API

阅读时长 4 分钟读完

Deno 是一个基于 Rust 编写的 JavaScript/TypeScript 运行时,它的目标是提供一个安全稳定、易于维护的应用开发平台。Deno 的出现与 Node.js 的异步编程模型类似,但它还加入了一些新的特性,例如原生支持 ES modules,从而使它更适合用于构建实际项目。

在本文中,我们将介绍如何使用 Deno 构建一个服务器端的 API,并通过示例代码演示它的基本用法和特点。

安装 Deno

首先需要安装 Deno 运行时,可以在官网下载安装包或使用包管理工具(如 Homebrew,Scoop 等)进行安装。

安装完成后,我们可以在终端中输入 deno 命令来测试是否安装成功。如果安装成功,你将会看到以下输出:

创建服务器端 API

使用 Deno 创建一个服务器端 API 非常简单,我们使用 Deno 自带的 std/http 模块就能实现。我们可以参考以下代码来创建一个服务端:

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

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

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

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

在该代码中,我们首先导入了 std/http 模块中的 serve 函数,该函数会返回一个异步迭代器,它会在新的请求到达时产生一个 serveRequest 对象,该对象包含请求头、响应头、请求体等信息。我们通过 for-await-of 循环遍历该异步迭代器,处理每一个请求,最后通过 req.respond 方法响应请求。

运行该代码后,我们可以在浏览器中访问 http://localhost:8000/,应该会得到一个 “Hello World” 的响应。

编写路由及 API

上述示例代码只响应了根路径的请求,如果我们需要响应其他路由的请求该怎么办呢?做法很简单,只需要在循环中加入一个分支即可。

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

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

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

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

在该代码中,我们根据不同的请求路径进行分支判断,如果请求根路径,响应 “Hello World” 的消息,如果请求 /api 路径,则响应 JSON 格式的消息 { message: "API response" },如果请求其他路径,则响应 “Not Found” 的消息。我们可以根据实际需求拓展该路由规则。需要注意的是,由于 Deno 默认只允许访问网络连接和文件系统等需要授权许可的 API,因此运行该代码时需要加上 --allow-net 参数以授权访问网络连接。

总结

本文讲解了使用 Deno 构建服务器端 API 的方法并提供了示例代码。Deno 在异步编程、ES modules 等方面都提供了更好的支持和体验,如果你想尝试一下新的技术,可以考虑使用 Deno 进行开发。

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

纠错
反馈