app.all和app.use有什么区别?

app.all()app.use()什么app.use()

当使用任何types的请求方法(例如,GET,POST,PUT或DELETE)请求一个特定的URI时, app.all()将被调用。

app.use()对于任何你可能拥有的中间件来说都是非常有用的,因为它会“挂载”到一个path前缀上,并且只要请求该路由下的URI就会被调用。 因此,例如app.use('admin/', isAuthorized)可能是一个中间件,它将确保在“admin /”下访问的任何URI(如“admin / settings”或“admin / bing / bang”)是只被授权用户请求。 如果您不提供装载path,则默认使用根URI“/”。

你可以使用glob(例如app.all('admin/*', isAuthorized) )对app.all()做同样的事情,但是app.use()执行从req.path中去除装载URI的额外步骤req.path对于一些中间件来说, req.path非常有用。