app.use()
是 Express 框架中的一个方法,用于在 Express 应用中使用中间件(middleware)。
Express 中间件是在请求到达路由处理之前,对请求和响应进行预处理的函数。app.use()
方法用于注册一个全局中间件,它作为每个请求到达服务器时都会被调用。
app.use()
的语法如下:
app.use(callback)
其中,callback
是一个函数,用于处理请求和响应。它可以是一个单独的函数,也可以是一个函数数组。
在 Express 中,中间件函数的签名为 (req, res, next)
,其中 req
表示请求对象,res
表示响应对象,next
是一个函数,用于将控制权传递给下一个中间件函数。
通常,app.use()
会在路由之前使用,用于处理一些公共操作,例如日志记录、身份验证、处理请求体等。
一个简单的例子如下:
const express = require('express');
const app = express();
// 全局中间件
app.use((req, res, next) => {
console.log('Global Middleware');
next(); // 传递控制权给下一个中间件
});
// 路由
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(3000, () => {
console.log('Server started at http://localhost:3000');
});
在上面的例子中,app.use()
注册了一个全局中间件,在每个请求到达服务器时都会打印 Global Middleware
。然后通过路由处理 /
的请求,并发送 Hello World!
。
需要注意的是,app.use()
注册的中间件会按照代码中定义的顺序依次执行。如果在中间件函数中调用了 next()
,则会将控制权传递给下一个中间件;如果没有调用 next()
,则请求会被该中间件终止处理。