据我了解,在诸如app.use
之类的路由声明之前在中间件上调用app.get('/hello')
会使该中间件在到达该路由功能之前在请求上运行。当您遇到至少具有三条路线和三块中间件的情况,并且您想要这样设置时,我会感到困惑:
我当然会缺少一些东西,因为我目前的理解使这种设置变得不可能。无法在代码中对允许这种配置的语句进行排序。
这怎么办?我想念什么?
答案 0 :(得分:1)
这应该很容易完成。像这样设置
app.use('/route1', middlewareA, middlewareB, (req, res, next) => {})
app.use('/route2', middlewareB, middlewareC, (req, res, next) => {})
app.use('/route3', middlewareA, middlewareC, (req, res, next) => {})
当您定义这样的路由时,中间件仅应用于特定的路由。如果您像app.use(middlewareA)
那样做,那么中间件将在其后的所有路由中使用。