在 Node.js 中,全局中间件是一种特殊的中间件,它在所有路由处理程序之前被调用。全局中间件可以用于执行各种任务,例如验证用户身份、检查用户会话状态、解析请求数据等。
要定义全局中间件,可以使用 app.use()
函数。这个函数接受一个中间件函数作为参数,并将其注册为全局中间件。全局中间件会应用于所有路由和传入的请求对象(req)和响应对象(res)。
以下是一个示例,展示如何定义一个全局中间件:
const express = require('express'); const app = express();
// 定义全局中间件 app.use((req, res, next) => { console.log('全局中间件处理程序被调用');
// 在这里执行你的代码逻辑
next(); // 调用 next 函数以进行下一个中间件或路由处理程序 });
// 定义一个路由处理程序 app.get('/user', (req, res) => { res.send('User page.'); });
app.listen(80, () => { console.log('Server is running on port 80'); });
在这个示例中,我们使用 app.use()
函数定义了一个全局中间件。这个中间件会在每个传入的 HTTP 请求时被调用,并在路由处理程序之前执行。在全局中间件中,我们可以执行任何我们需要的代码逻辑,例如验证用户身份、检查请求头、解析请求数据等。通过调用 next()
函数,我们可以将控制权传递给下一个中间件或路由处理程序。