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

Pre*_*hev 5 javascript node.js express

app.all()和之间有什么区别app.use()

the*_*ham 7

app.all() 将使用任何类型的请求方法(例如GET,POST,PUT或DELETE)请求特定URI时调用.

app.use()另一方面,对于您可能拥有的任何中间件更有用,因为它"安装"到路径前缀上,并且在请求该路由下的URI时随时调用.因此,例如app.use('admin/', isAuthorized)可以是一个中间件,它将确保在"admin /"下访问的任何URI(例如"admin/settings"或"admin/bing/bang")仅由授权用户请求.如果未提供装载路径,则默认使用根URI"/".

您可以app.all()通过使用glob(例如app.all('admin/*', isAuthorized))来做同样的事情,但是app.use()执行剥离挂载URI的额外步骤req.path,对于某些中间件非常有用.