app.all()
和app.use()
之间的区别是什么?
答案 0 :(得分:7)
app.all()
。
app.use()
对于您可能拥有的任何中间件更有用,因为它“安装”到路径前缀上,并且在请求该路由下的URI时随时调用。因此,例如app.use('admin/', isAuthorized)
可能是一个中间件,它将确保只有授权用户才能请求在“admin /”下访问的任何URI(例如“admin / settings”或“admin / bing / bang”) 。如果未提供装载路径,则默认使用根URI“/".
你可以使用glob(例如app.all()
)对app.all('admin/*', isAuthorized)
执行相同的操作,但app.use()
执行从req.path
剥离装载URI的额外步骤对于某些中间件非常有用。