Nodejs express之中间件

时间:2022-12-19 09:37:46

对于express的中间件,类似于java中的过滤器、拦截器,用来在真正处理请求之前先处理某些逻辑,express的中间件用起来是相当简单

直接使用app.use([path],callback)方法即可

//创建app对象
varapp=express();
//所用请求都会先执行此方法
app.use(function(req,res,next){
console.log('中间件1');
//继续执行下一个中间件
next();
})
app.use('/',function(req,res,next){
console.log('中间件2');
    next();
})
//当请求/路径时候执行此方法
app.get('/',function(req,res){
    res.send("hello nodejs.")
})
//3000端口监听http请求
app.listen(3000);

 

当访问http://127.0.0.1:3000/时候会依次先执行中间件1,再执行中间件2,然后才会执行get方法

app.use([path],callback)中的第一个参数path是可选参数,用来针对某一个路径来执行特定操作,如果未指定该路径参数,所有请求都会执行此中间件,

中间件是按照书写次序依然按顺序来执行的,直到执行完最后一个

req,res,next是express自动注入的参数

next()方法非常重要,用来指明是否继续执行下一个中间件,需要手动调用,如果不调用,程序将不会再执行后面的中将件,并且如果在此不做res响应将阻塞在这里一直处于等待状态。