函数声明和nodejs文件中的调用

时间:2014-05-22 15:30:27

标签: javascript node.js

我正在阅读一些源文件,看看函数是以两种不同的模式编写和调用的。我将先描述两种模式,然后再在主文件中调用它们。

第一种模式:

文件module1.js:

    function a(req,res,next){
     //do somethin
    }

    module.exports.a = a;

秒模式:

文件module2.js

module.exports = function(){
  return function(req,res,next){
     /* do something here */
    }
}

档案main.js

   var mod1 = require('module1');
    var mod2 = require('module2');
    server.use(mod1.a);
    server.use(mod2());

令我困惑的是为什么mod1和mod2的写法如此不同。写这些

的正确方法是什么

1 个答案:

答案 0 :(得分:1)

如果您需要将配置对象或其他信息(例如数据库实例)传递给它将用于请求的中间件,则第二种模式非常有用。

无论哪种方式都可以接受,只取决于您的需求。