Express中间件

Express的中间件

Express的中间件,本质上就是一个function处理函数,多个中间件作用相当于多道处理过程。
区别在于中间件的回调函数参数中还包括next
而路由处理函数中只包括req,res
格式:

var express=require("express");
var app=express();

app.get('/',function(req,res,next){
	next();
})

next

next函数的作用是连接多个中间件。
转交给下一个中间件或路由处理

全局生效的中间件

const mw=function(req,res,next){
	console.log("全局生效的中间件");
	//若没有下一个中间件,则转交给下一个路由处理
	next()
}
//注册全局生效的中间件
app.use(mw)

app.get('/',function(req,res){
	console.log("访问根目录");
})

局部生效的中间件

const mw=function(req,res,next){
	console.log("'/'路由 局部生效的中间件");
	//若没有下一个中间件,则转交给下一个路由处理
	next()
}
//表示只在当前路由 即'/' 生效这个中间件
app.get('/',mw,function(req,res){
	console.log("访问根目录");
})

多个中间件调用

app.get('/',mw1,mw2,function(req,res){
	console.log("访问根目录");
})

等价于

app.get('/',[mw1,mw2],function(req,res){
	console.log("访问根目录");
}

)

注意、

  1. 一定要在路由前注册中间件。
  2. 不要忘记next()函数
  3. 为了逻辑清晰,next()后最好不添加额外代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值