如何在 Express.js 中使用中间件处理请求和响应

阅读时长 3 分钟读完

Express.js 是一款流行的 Node.js Web 框架,因其快速和简单而备受欢迎。这里将探讨如何在 Express.js 中使用中间件处理请求和响应。

什么是中间件?

中间件是 Express.js 中用于处理请求和响应的函数。它们可以在处理请求前执行某些任务,并且可以对响应进行修改。常见的中间件包括身份验证、日志记录、缓存等。

中间件主要分为两种:应用程序级别中间件和路由级别中间件。应用程序级别中间件可以处理所有进入应用程序的请求,而路由级别中间件只能处理特定路由的请求。

应用程序级别中间件

要在应用程序级别向 Express.js 添加中间件,请使用 app.use() 方法。以下示例演示了如何添加一个日志记录中间件:

上述代码定义了一个应用程序级别中间件,它打印当前时间并调用 next() 函数。 next() 函数会将应用程序控制权交给下一个匹配的中间件或路由处理程序。

路由级别中间件

要在特定路由级别向 Express.js 添加中间件,请使用 router.use() 方法。以下示例演示了如何为 /users 路由添加一个身份验证中间件:

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

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

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

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

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

上述代码定义了一个路由级别的中间件,它检查用户是否已经登录并处理请求或将其拒绝。

中间件链

在 Express.js 中,可以使用多个中间件处理请求和响应。例如,以下示例演示了一个包含多个中间件的路由:

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

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

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

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

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

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

在上述代码中,router 变量定义了一个包含两个中间件的路由。第一个中间件记录请求时间,第二个中间件检索当前用户,并将其存储在请求对象的 user 属性中。最后,路由响应 Hello 和用户的名称。

结论

中间件是 Express.js 最强大和最有用的功能之一。它们使开发人员能够轻松地处理和修改请求和响应,从而提高了 Web 应用程序的可靠性和安全性。利用中间件可以快速实现很多功能模块,并且也是提高Web应用程序架构在设计上非常重要的特性。

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

纠错
反馈