javascript - Nodejs 文件中的函数声明和调用

标签 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 的写法如此不同。正确的写法是什么

最佳答案

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

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

关于javascript - Nodejs 文件中的函数声明和调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23811182/

相关文章:

javascript - 如何在一行/命令中声明具有属性的 JavaScript 函数?

javascript - 从 Javascript 中的字符串中获取最后一个单词

javascript - TypeError : fs. readdirSync 不是函数 React js

javascript - 当我在 Node JS 中调用 Modernizr.build 时,范围行为非常不寻常

javascript - 如何在 Jasmine Node.js 中测试事件?

javascript - 如何使用幻灯片效果对宽度进行动画处理(jquery)?

php - 验证更新表格

node.js - 在运行时在 nodejs 中检查包版本?

javascript - 在 mocha 单元测试中包含模块

javascript - 如何停止在 node.js 中获取此 ReferenceError?