介绍
Deno 是一个新的 JavaScript 和 TypeScript 运行时环境,它是由 Node.js 的创建者 Ryan Dahl 创建的。Deno 支持许多现代 JavaScript 语言功能,如异步操作和模块加载,并且拥有更好的安全性,因为它在默认情况下不允许访问文件系统,网络和环境变量等敏感资源,需要明确的权限请求。
在这篇文章中,我们将学习如何使用 Deno 构建一个最基本的 HTTP 服务应用程序。
需求
在开始编写代码之前,我们需要安装最新版本的 Deno。在安装 Deno 后,我们还需要一个文本编辑器来编写我们的代码。
编写 HTTP 服务
为了在 Deno 中创建一个 HTTP 服务,我们需要使用内置的 serve()
函数。这个函数定义在一个 http/server.ts
的模块中,我们可以使用以下代码引入这个模块:
import { serve } from "https://deno.land/std/http/server.ts";
当我们使用 serve()
函数时,它将返回一个 AsyncIterable
类型的对象,它会在每次请求到达时生成一个 ServerRequest
对象。我们可以通过设置一个 for-await-of
循环来迭代这个对象并处理每个请求:
const server = serve({ port: 8000 }); console.log("HTTP server is running. Open http://localhost:8000/"); for await (const request of server) { request.respond({ body: "Hello Deno!" }); }
这段代码运行时,它将在本地计算机上启动一个 HTTP 服务器,并在浏览器中打开您的应用程序的首页时显示“Hello Deno!”。
现在,我们已经成功地创建了一个最基本的 HTTP 服务!
内容要点
在上面的代码中,我们使用了 serve()
函数来创建 HTTP 服务器,并且使用 for-await-of
循环来迭代请求。在每次请求时,我们发送一个响应,其中包含一个消息("Hello Deno!")作为响应的产物。
该 serve()
函数的参数可以包含以下选项:
port
:服务器将监听的端口。默认应该是 4501。hostname
:服务器在哪个主机上运行。默认应该是"0.0.0.0"
。certFile
:服务器的 SSL 证书文件名。keyFile
:服务器的 SSL 密钥文件名。secure
:是否启用 SSL。
总结
我们已经看了如何使用 Deno 构建最基本的 HTTP 服务。使用 Deno 编写代码,与 Node.js 作为后端相比,我们可以更容易地编写可维护和可扩展的代码,并且可以利用许多现代 JavaScript 功能。这个例子只是一种最基本的用法,我们可以在此基础上进一步开发更加复杂的应用程序。
示例代码
-- -------------------- ---- ------- ------ - ----- - ---- --------------------------------------- ----- ------ - ------- ----- ---- --- ----------------- ------ -- -------- ---- ------------------------- --- ----- ------ ------- -- ------- - ----------------- ----- ------ ------ --- -
参考
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/646b3f87968c7c53b0aa3723