将其他parameter passing给路由(expressjs)

最近我开始使用快递,我偶然发现了以下问题:

我的路线的整个逻辑是在单独的文件中定义的,然后通过require(route_name)来包含它们。 相应的获取/邮寄匹配如下完成:

app.get('/', routes.home) etc. 

上面的代码意味着routes.home是一个用参数req,res&next调用的函数。

我有一堆存储在utils对象中的实用函数,我希望每条路线都能够访问。 到目前为止,我一直在解决这个问题如下:

 var utils = ... app.get('/', function (req, res, next) { routes.home(req, res, next, utils); }); 

有没有办法告诉明确它应该将utils对象作为parameter passing给每个路由,或者通常是更好的解决我的问题?

我同意JohnnyHK。 还有,为什么你需要通过res和req两次? 为什么不在你的应用程序文件中这样做:

 app.get('/', routes.home); 

然后在你需要的文件里,像这样:

 var utils = require('utils') exports.home = function(req, res){ //code } 

感谢所有的答案。 我已经find了解决我的问题的方法,在我想要的utils模块的路由上调用“init(utils)”函数。