Deno 是一款由 Ryan Dahl 主导开发的新型 JavaScript 运行时环境,它的目标是取代 Node.js ,提供更好的开发体验。本文将介绍如何使用 Deno 创建 HTTP 服务器。
准备工作
首先,你需要安装 Deno。你可以从官方网站 https://deno.land/ 下载最新版本的 Deno。
创建 HTTP 服务器
在 Deno 中创建 HTTP 服务器只需要几行代码。以下是一个简单的例子:
-- -------------------- ---- ------- ------ - ----- - ---- --------------------------------------- ----- ------ - ------- ----- ---- --- -------------------------------------- --- ----- ------ --- -- ------- - ------------- ----- ------ -------- --- -
上面的代码通过 import
引入了 serve
函数,该函数接受一个配置对象,并返回一个 HTTP Server 对象。你可以为该对象指定一个端口号以监听 HTTP 请求。
最后一行代码使用 for await...of
语法监听 HTTP 请求,当有请求进来时,执行回调函数并返回一个响应体 "Hello World"。
指定 HTTP 请求处理函数
上面的例子中只有一个请求处理函数,它返回了固定的响应体。实际上,我们可以为不同的 URL 指定不同的请求处理函数。
以下是一个例子:
-- -------------------- ---- ------- ------ - ----- - ---- --------------------------------------- ----- ------ - ------- ----- ---- --- -------------------------------------- ----- ------------- - ----- -- - ------ --------- - ---- ---- ------------- ----- ------ -------- --- ------ ---- --------- ------------- ----- ------ ----- --- ------ -------- ------------- ----- ---- --- -------- --- - -- --- ----- ------ --- -- ------- - ------------------- -
上面的代码定义了一个 handleRequest
函数,它根据请求的 URL 返回不同的响应体。在监听 HTTP 请求时,我们调用这个函数处理请求。
添加中间件
如果你熟悉 Express.js 中的 middleware
概念,你应该知道如何处理 HTTP 请求流程中的前置过程、后置过程。在 Deno 中,我们同样可以使用中间件(middlewares)来拦截、处理 HTTP 请求。
以下是一个例子:
-- -------------------- ---- ------- ------ - ----- - ---- --------------------------------------- ------ - ---------------- - ---- -------------------------- ----- ------ - ------- ----- ---- --- -------------------------------------- ----- ------------- - ----- -- - ------ --------- - ---- ---- ------------- ----- ------ -------- --- ------ ---- --------- ------------- ----- ------ ----- --- ------ -------- ------------- ----- ---- --- -------- --- - -- --- ----- ------ --- -- ------- - --------------------- --------------- -
上面的代码通过 import
引入了 loggerMiddleware
中间件函数。在监听 HTTP 请求时,我们将中间件函数和请求处理函数都传入 for await...of
循环中,以便处理 HTTP 请求。
注意,使用中间件时需要注意中间件函数的顺序。如果中间件函数顺序不正确,可能导致请求没有被正确处理。
总结
本文介绍了如何在 Deno 中创建 HTTP 服务器,包括创建 HTTP Server 对象、定义请求处理函数及中间件的使用等方面。这些知识点对于前端开发者来说都是非常必要的,希望本文能够为你带来帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6530f05f7d4982a6eb281f57