1.中间件分类
- 应用级别的中间件
- 路由级别的中间件
- 错误级别的中间件
- Express 内置的中间件
- 第三方的中间件
通过app.use()或app.get()或app.post()绑定到app实力上的中间件,叫做应用级别的中间件
绑定到express.Router()实力上的中间件,叫做路由级别的中间件,它的用法和应用级别中间件没有任务区别,只不过,应用级别中间件时绑定到app实例上,路由级别中间件绑定到roter实力上,代码示例如下
错误级别中间件专门用来捕获整个项目中发生的异常错误,错误级别中间件的functon处理函数中,必须4个形参,(err,req,res,next) ****错误级别中间件必须放在所有路由之后
内置中间件
express.static() 托管静态资源 HTML文件、图片、css样式等(无兼容性)
express.json()解析JSON格式的请求数据(有兼容性,仅在4.16.0+版本可用)
express.urlencoded()解析URL-encoded格式的请求体数据(有兼容性,尽在4.16.0+版本使用)
第三方中间件
非express官方内置,认识由第三方开发出来的中间件,叫做第三方中间件,可以按需下载并配第三方中间件,从而提高项目开发效率
例如:在express@4.16.0之前的版本中,经常使用body-parser这个第三方中间件,来解析请求体数据,使用步骤如下
运行 npm install body-parser安装中间件
使用require导入中间件
调用arr.use()注册并使用中间件
注:Express内置的pxress.urlencoded中间件时基于body-parser这个第三方中间件进一步开发出来的