1、什么是中间件
中间件是一个可访问的请求对象和响应对象,在express应用的请求响应循环里,下一个内联的中间件通常用变量next表示。中间件的功能包括:
执行任何代码
修改请求和响应对象
终结请求-响应循环
调用堆栈中下一个中间件
注:如果中间件没有响终结请求响应循环,则必须调用next()方法,将控制权交给下一个中间件。
2、应用级中间件:
应用级中间件绑定到 express 实例,使用 app.use() 和 app.VERB() 。
挂载一组中间件:
如果需要在中间件栈中跳过剩余中间件,调用 next(‘route’) 方法将控制权交给下一个路由。需要注意的是 next(‘route’) 只对使用 app.VERB() 或 router.VERB() 加载的中间件有效。
3、路由级中间件:
路由级中间件绑定的对象为express.Router(),使用router.use()或router.VERB()加载
4、错误处理中间件
错误处理中间件有四个参数,定义错误处理中间件,必须使用这四个参数。
5、内置中间件
express.static(root, [options])
express.static 是 Express 唯一内置的中间件,它基于 serve-static,负责在 Express 应用中提供静态资源。
参数 root 指提供静态资源的根目录。
每个应用可有多个静态目录。
6、第三方中间件
Express 是一款提供路由和中间件的 Web 框架,但其本身的功能却异常精简。Express 应用的功能通过第三方中间件来添加。安装所需功能的 node 模块,并在应用中加载,可以在应用级加载,也可以在路由级加载