一.中间件(middleware)概念
中间件是一个特殊的url地址处理函数,一般作为app.use(中间件函数)的参数或者在某个路由处理函数中使用
二.基本使用
const express = require('express')//导入express模块
const app = express();//创建服务
//app.use()中间件
app.use((req, res, next) => {
console.log("第1个中间件");
req.a1 = 100;
next();
});
app.use((req, res, next) => {
console.log("第2个中间件");
res.setHeader('content-type', 'text/html;charset=utf8');
res.a2 = 200;
next();
});
app.use((req, res, next) => {
console.log("第3个中间件");
req.a3 = 300;
console.log(req.a1,req.a2)
res.end('中间件');
});
//监听端口
app.listen(3000,()=>{
console.log('express应用在3000端口启动了');
})
注意点:
1.如果有后续的中间件需要执行,那么就必须加next(),可以跳出当前中间件,执行下一函数,如果不加,那么流程就会在中间件卡住.
2.res是响应对象,req是请求对象,res与req在中间件中会相互传递,上面的res或req会传递到下一个中间件中
三.中间件匹配路由
app.use(中间件) 属于应用级中间件,所有的请