一些关于“中间件”的小知识

1.概念

本质上就是一个函数,包含三个参数:request,response,next

2.作用:

(1)执行任何代码
(2)修改请求和响应对象
(3)终结请求和响应
(4)调用堆栈中的下一个中间件

3.分类

3.1应用(全局)级中间件 (过滤非法请求,如防盗链)
-- 第一种写法:app.use((request,response,next) => {}) 不灵活 
-- 第二种写法:使用函数定义
举个🌰:
function middleWare(request,response,next){
	if(request.get('host')!== 'localhost:3000'){
		response.send('不能非法操作')
	}else{
		next()
	}
}	 
使用:app.get('/',middleWare,(request,response) => {
	response.send('根路由器')
})
3.2 第三方中间件 (通过npm下载的中间件)如body_parser
-- app.use(bodyParser.urlencoded({extended:true}))
3.3 内置中间件
-- app.use(express.urlcoded({extended:true}))
-- app.use(express.static('public')) 暴露静态文件夹
3.4 路由器中间件
备注:
	 在express中,定义路由和路由中间件的时候,根据定义的顺序,将定义的每个中间件或路由放在一个类似数组的容器中,当请求过来的时候,一次从容器中取出中间件和路由进行匹配,如果匹成功,交友该路由或中间价处理。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值