如何扩展快递路由器的功能



是否可以扩展快递路由器的功能?我需要发送插座。IO以及响应和请求。

在一个文件中我有router:

var contoller = require('controller');
...
module.exports = function(app, io) {
   router.post('/', controller.postAction);
}

控制器文件看起来像这样:

...
controler.prototype.postAction = function(req, res) {
}
...

所以从第一个文件我需要发送' io '到控制器,我怎么做呢?

您可以定义实际的postAction函数,它本身返回一个函数并将io传递给postAction函数,如下所示:

controler.prototype.postAction = function(io) {  // you receive io as an argument
    return function(req, res){
       // your midleware code here
    }
}

,你可以在你的路由器中这样要求:

var contoller = require('controller');
...
module.exports = function(app, io) {
   router.post('/', controller.postAction(io)); // note here we pass io
}

这里发生的是函数postAction充当返回实际中间件的包装器,因此您可以轻松地将任何参数传递给它。

让我知道,如果这不是你要找的!

最新更新