1.app.use([path,], function [, function…]) 挂载中间件方法到路径上。如果路径未指定,那么默认为”/”
2.一个路由将匹配任何路径如果这个路径以这个路由设置路径后紧跟着”/”。比如:app.use(‘/apple’, …)将匹配”/apple”,”/apple/images”,”/apple/images/news”等
3.在一个路径上挂载一个中间件之后,每当请求的路径的前缀部分匹配了这个路由路径,那么这个中间件就会被执行。 由于默认的路径为/,中间件挂载没有指定路径,那么对于每个请求,这个中间件都会被执行
4.中间件方法是顺序处理的,所以中间件包含的顺序是很重要的
5.调用中间件时候的路径可以是代表路径的一串字符,一个路径模式,一个匹配路径的正则表达式,或者他们的一组集合
6.中间件方法可以是一个中间件方法,一系列中间件方法,一组中间件方法或者他们的集合。由于路由router和express实例app也实现了中间件接口,所以你可以像使用其他任一中间件方法那样使用它们
对于相同的挂载路径可以挂载多个中间件,因为路径的相同,调用next的时候会自动执行下一个匹配相同路径的中间件
7.
下面是一些例子,在Express程序中使用express.static中间件。 为程序托管位于程序目录下的public目录下的静态资源
在/static路径下挂载中间件来提供静态资源托管服务,只当请求是以/static为前缀的时候
通过在设置静态资源中间件之后加载日志中间件来关闭静态资源请求的日志