中间件,特指业务流程
的中间处理环节
我们怎么创建使用中间件呢?
创建express服务器
中间件和路由的区别就是参数,中间件有个next函数,中间件是按照顺序执行的,一步一步向下执行,最后将req,res里面的信息传递给后面的路由,所有的中间件共用一个req,res
//创建express服务器
const express = require('express')
const app = express()
//创建中间件
app.get('/',req,res,next)=>{
consloe.log('this is middleware function')
next()
}
//创建路由
app.get('/',(req,res)=>{
consloe.log('this is a page')
}
//监听80端口
app.listen(80,()=>{
consloe.log('http://127.0.0.1:80')
}
创建好中间件之后,我们有两种使用方法,一种是全局中间件,第二种是局部中间件
全局中间件:
全局是所有路由执行之前会执行
使用方法:app.use()
//创建中间件
//1.全局中间件
const mw1 = (req,res,next)=>{
console.log('this is global mw')
next()
}
// 使用全局中间件
app.use(mw1)
局部生效的中间件:
只有绑定了中间件的路由才会执行
使用方法:在路由参数添加对应中间件的名称
//2.局部中间件
const mw2 = (req,res,next)=>{
console.log('this is local mw')
next()
}
app.get('/',mw2,(req,res)=>{
res.send('home page')
})