中间件是流程处理
function hi(req,res,next){
if(req.query.name === 'yang'){
next() // 放行,结束函数并执行后面代码
}else{
res.end('你输错了')
}
}
app.use(hi)
// 下一个中间件有没有被调用取决于有没有调用next()
app.use((req,res,next)=>{
console.log(`req.duang: ${req.duang}`)
next()
})
app.use((req,res)=>{
res.duang = 1
res.end('访问成功')
})
给next()传递参数
无论传递字符串或者是对象,都会被next当做是错误处理
中间件主要是对请求过程做管理
中间件是对流程,逻辑的封装(req,res,next)
从res->req->next