应用级别的中间件: 挂载到 app 上的中间件,例如:app.use()、app.get()、app.post()
路由级别的中间件: 挂载到 router 对象上的中间件,例如:router.get()、 router.post()
错误级别的中间件: 回调函数中,有四个参数 app.use((err, req, res, next)=>{})
内置中间件: express.static() , express 提供的唯一内置中间件
第三方中间件: express 框架提供的,需要程序员手动安装才能使用的中间件;body-parser 解析 post 表单数据