我正在阅读一些源文件,看看函数是以两种不同的模式编写和调用的。我将先描述两种模式,然后再在主文件中调用它们。
第一种模式:
文件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的写法如此不同。写这些
的正确方法是什么答案 0 :(得分:1)
如果您需要将配置对象或其他信息(例如数据库实例)传递给它将用于请求的中间件,则第二种模式非常有用。
无论哪种方式都可以接受,只取决于您的需求。