app.all()
和 和有什么不一样app.use()
?
问问题
894 次
1 回答
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()
需要额外的步骤来剥离req.path
对于某些中间件非常有用的挂载 URI。
于 2012-12-18T21:32:01.563 回答