在 Node.js 中,可以使用 app.use()
函数定义多个全局中间件。这些全局中间件会应用于所有路由和传入的请求对象(req)和响应对象(res)。
以下是一个示例,展示如何定义两个全局中间件:
const express = require('express'); const app = express();
// 定义第一个全局中间件 app.use((req, res, next) => { console.log('调用了第1个全局中间件'); next(); // 调用 next 函数以进行下一个中间件或路由处理程序 });
// 定义第二个全局中间件 app.use((req, res, next) => { console.log('调用了第2个全局中间件'); next(); // 调用 next 函数以进行下一个中间件或路由处理程序 });
// 定义一个路由 app.get('/user', (req, res) => { res.send('User page.'); });
app.listen(80, () => { console.log('http://127.0.0.1'); });
在这个示例中,我们使用 app.use()
函数连续定义了两个全局中间件。它们都会在每个传入的 HTTP 请求时被调用,并按它们被定义的顺序执行。每个中间件函数都会接收请求对象(req)、响应对象(res)和一个 next 函数作为参数。通过调用 next 函数,我们可以将控制权传递给下一个中间件或路由处理程序。