中间件分类
- 应用级别的中间件
- 路由级别的中间件
- 错误级别的中间件
- Express内置的中间件
- 第三方的中间件
1、应用级别的中间件
通过app.use()或app.get()或app.post(),绑定到app实例上的中间件,叫做应用级别的中间件,代码如下
// 应用级别的中间件(全局中间件)
app.use((req, res, next) => {
next()
})
2、路由级别的中间件
var express = require('express') // 导入express
var router = express.Router() // 创建路由对象
router.use(function(req, res, next){
console.log(11)
next()
})
app.use('/',router)
3、错误级别的中间件
必须有4个形参,分别是(err,req,res,next)
app.get('/', functionz(req, res) {
throw new Error('服务器内部发生错误')
res.send('page')
})
app.use(function(err,req,res,next) {
console.log('发生了错误' + err.message)
res.send(err.message)
})
4、Express内置的中间件
- express.static快速托管静态资源的内置中间件
- express.json解析json格式的请求体数据
- express.urlencoded解析 URL-encoded格式的请求体数据
app.use(express.ison())
app.use(express.urlencoded({ extended: false }))