【发布时间】:2014-01-21 23:51:42
【问题描述】:
我正在尝试根据请求查询参数来决定要使用的中间件。
在主模块中我有这样的东西:
app.use(function(req, res){
if (req.query.something) {
// pass req, res to middleware_a
} else {
// pass req, res to middleware_b
}
});
middleware_a 和 middleware_b 都是 express 应用程序,它们本身是由 express() 函数创建的,而不是常规的中间件函数 (function(req, res, next))
找不到办法
【问题讨论】:
-
你的代码有什么问题?作为快速维护者,我建议您这样做。
-
@JonathanOng 问题是
middleware_a和middleware_b都是由express()创建的对象,而不是常规的中间件函数,所以我不能真正传递req,res,在它们旁边。 .. -
express 应用程序本身就是中间件。是的,你可以。
-
@JonathanOng 怎么样?你能示范一下吗?当我尝试执行
middleware_a(req, res, next)之类的操作时,它告诉我该对象不是函数 -
听起来你做错了什么。你能发布一个完整的例子吗