Express.js 是一种流行的基于 Node.js 的 web 应用程序框架。它被广泛使用于构建高性能的 web 应用程序,而 Express.js 中间件是其核心部分之一。本文将为您介绍什么是 Express.js 中间件、如何使用它们以及如何定义自己的中间件,从而使您从入门到精通。
什么是 Express.js 中间件?
中间件是 Express.js 中处理 HTTP 请求和响应的函数。中间件可以访问请求和响应对象,并通过改变它们来执行特定的任务。中间件的主要目的是简化开发人员的工作,并使代码更加模块化和可读性。
在大多数情况下,Express.js 中间件功能强大且易于使用。中间件可以将请求对象的属性存储为状态、在响应发送到客户端之前启用安全、检查请求对象是否经过身份验证等。中间件通常是一个小的处理函数,但是可以轻松地将许多中间件链接在一起形成更高层次的应用程序。
如何使用 Express.js 中间件?
要使用 Express.js 中间件,请首先安装 Express.js 包。然后在您的代码中引入它并定义一个 Express.js 应用程序对象:
const express = require('express'); const app = express();
现在,您可以使用 app.use() 方法将中间件添加到您的 Express.js 应用程序对象中:
app.use(function(req, res, next) { console.log('Time:', Date.now()); next(); });
在上面的例子中,我们定义了一个简单的中间件,每次接收到请求时都会打印当前的时间。对于每个中间件函数,它都需要三个参数:req (请求对象)、res (响应对象)和 next (下一个中间件函数)。req 和 res 参数就是我们可以读取的请求和响应对象,而 next 参数是一个传递控制权的函数,用于调用下一个中间件函数。
您还可以链式调用多个中间件函数:
app.use('/api', auth, logger, errorHandler);
这将使用三个中间件函数,并确保它们只有在请求的 URL 以 /api 开头时才被调用。这样可以使您的代码更加模块化和易于维护。
如何定义自己的 Express.js 中间件?
除了使用已经存在的中间件之外,您还可以根据自己的需要定义和使用自定义中间件。您可以定义自己的中间件函数,将其导出为模块,然后再引入到您的应用程序中。
以下是一个示例中间件,用于在发送响应之前启用 CORS:
-- -------------------- ---- ------- -------- --------- ---- ----- - -------------------------------------------- ----- --------------------------------------------- ----- ----- ---- ------- ---------- --------------------------------------------- -------------- ---------------- -- ----------- --- ---------- - -------------------- - ---- - ------- - - -------------- - -----
然后,您可以将此中间件使用 app.use() 方法添加到您的应用程序中:
const cors = require('./cors'); app.use(cors);
这将在每个请求上启用 CORS,并确保您的应用程序在其它域中可用。
总结
Express.js 中间件是开发 web 应用程序时不可或缺的一部分。在本文中,我们介绍了什么是 Express.js 中间件、如何使用它们以及如何定义自己的中间件。了解和掌握中间件的技巧可以大大简化您的代码开发,使应用程序更加模块化和易于维护。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/645a0b33968c7c53b0c29dae