我正在尝试根据请求查询参数决定要使用的中间件。
在主模块中我有这样的东西:
app.use(function(req, res){
if (req.query.something) {
// pass req, res to middleware_a
} else {
// pass req, res to middleware_b
}
});
middleware_a
and middleware_b
are 两个快递应用程序他们自己创造的express()
函数而不是常规的中间件函数(function(req, res, next)
)
找不到办法做到这一点
connect/express“中间件”没有什么神奇之处:它们只是函数 - 您可以像调用任何其他函数一样调用它们。
所以在你的例子中:
app.use(function(req, res, next){
if (req.query.something) {
middlewareA(req, res, next);
} else {
middlewareB(req, res, next);
}
});
也就是说,可能有更优雅的方法来构建分层快速应用程序。查看TJ的视频 http://vimeo.com/56166857
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)