Deno 是一个新兴的 JavaScript 和 TypeScript 运行时,它提供了一个安全的环境,可以在浏览器之外运行 JavaScript 代码。Express 则是一个流行的 Node.js Web 框架,它提供了一组用于构建 Web 应用程序的工具和功能。
在本文中,我们将探讨如何在 Deno 中使用 Express 进行 Web 应用开发。我们将介绍如何安装 Deno 和 Express,如何构建一个简单的 Web 应用程序,并讨论如何处理路由、中间件和错误处理。
安装 Deno 和 Express
在开始之前,我们需要安装 Deno 和 Express。首先,我们需要安装 Deno。可以从 Deno 的官方网站 https://deno.land/ 下载适用于您操作系统的 Deno 安装程序。
安装完成后,我们可以使用以下命令验证 Deno 是否已正确安装:
deno --version
接下来,我们需要安装 Express。可以使用以下命令在 Deno 中安装 Express:
import { Application } from "https://deno.land/x/oak/mod.ts";
构建一个简单的 Web 应用程序
现在我们已经安装了 Deno 和 Express,我们可以开始构建一个简单的 Web 应用程序。在本例中,我们将创建一个简单的“Hello World”应用程序。
首先,创建一个名为 app.ts
的文件,并在其中添加以下代码:
-- -------------------- ---- ------- ------ - ----------- - ---- --------------------------------- ----- --- - --- -------------- ------------- -- - ----------------- - ------- -------- --- ----- ------------ ----- ---- ---
在这个简单的应用程序中,我们创建了一个名为 app
的 Express 应用程序实例,并使用 app.use()
方法将一个简单的中间件添加到应用程序中。这个中间件仅仅是将请求的响应体设置为“Hello, World!”。
最后,我们通过调用 app.listen()
方法来启动应用程序。在本例中,我们将应用程序监听端口设置为 8000
。
现在,我们可以在终端上运行以下命令来启动我们的应用程序:
deno run --allow-net app.ts
现在,我们可以在浏览器中访问 http://localhost:8000
,看到输出“Hello, World!”。
处理路由
现在我们已经创建了一个简单的 Web 应用程序,让我们添加一些路由。在 Express 中,路由是由一组 URL 和处理程序组成的。在 Deno 中,我们可以使用 Oak 库来实现路由。
首先,我们需要安装 Oak。可以使用以下命令在 Deno 中安装 Oak:
-- -------------------- ---- ------- ------ - ------------ ------ - ---- --------------------------------- ----- --- - --- -------------- ----- ------ - --- --------- --------------- ----- -- - ----------------- - ------- -------- --- -------------------- ----- -- - ----------------- - ----- ------ --- ------------------------- --------------------------------- ----- ------------ ----- ---- ---
在这个例子中,我们创建了一个名为 router
的 Oak 路由器实例,并使用 router.get()
方法添加两个路由。第一个路由处理 /
URL,并返回“Hello, World!”。第二个路由处理 /users
URL,并返回“User List”。
我们还使用 app.use()
方法将路由器添加到应用程序中,并使用 router.allowedMethods()
方法启用路由器的 HTTP 方法。
现在,我们可以在浏览器中访问 http://localhost:8000
和 http://localhost:8000/users
,看到对应的输出。
处理中间件
在 Express 中,中间件是一组函数,它们可以访问请求对象(request object)、响应对象(response object)和应用程序的下一个中间件函数。在 Deno 中,我们可以使用 Oak 库来实现中间件。
以下是一个简单的中间件示例:
-- -------------------- ---- ------- ------ - ----------- - ---- --------------------------------- ----- --- - --- -------------- ------------- ----- ----- -- - -------------------------- ----- ------- --- ------------- -- - ----------------- - ------- -------- --- ----- ------------ ----- ---- ---
在这个例子中,我们创建了一个名为 app
的 Oak 应用程序实例,并使用 app.use()
方法添加两个中间件。第一个中间件打印一条消息到控制台,并调用 next()
方法来调用下一个中间件。第二个中间件将请求的响应体设置为“Hello, World!”。
在中间件中,我们可以执行一些有用的操作,例如记录请求日志、验证请求、解析请求体等。
处理错误
在 Express 中,错误处理是通过错误处理中间件来处理的。在 Deno 中,我们可以使用 Oak 库来实现错误处理。
以下是一个简单的错误处理中间件示例:
-- -------------------- ---- ------- ------ - ----------- - ---- --------------------------------- ----- --- - --- -------------- ------------- ----- ----- -- - --- - ----- ------- - ----- ----- - ----------------- ----------------- - --------- ------ ------- ------------------- - ---- - --- ------------- -- - ----- --- ---------------- ---- -------- --- ----- ------------ ----- ---- ---
在这个例子中,我们创建了一个名为 app
的 Oak 应用程序实例,并使用 app.use()
方法添加两个中间件。第一个中间件使用 try-catch 块来捕获下一个中间件中抛出的错误,并将错误消息设置为响应体。第二个中间件抛出一个错误。
在应用程序中添加错误处理中间件是非常重要的,因为它可以防止未处理的错误导致应用程序崩溃。
结论
在本文中,我们介绍了如何在 Deno 中使用 Express 进行 Web 应用开发。我们讨论了如何安装 Deno 和 Express,如何构建一个简单的 Web 应用程序,并讨论了如何处理路由、中间件和错误处理。
如果您想深入了解 Deno 和 Express,请查看官方文档和示例代码。祝您在 Deno 中使用 Express 开发 Web 应用程序愉快!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/676b61d378388e33bb220e18