node.js中module.exports =函数的含义

多诺芬拉力赛

我正在使用node.js迈出第一步,很显然,我试图做的第一件事就是从模块中导出一些数据,所以我尝试了一个简单的例子:

dummy.js:

var user = "rally";

module.exports = {
  user:user
};

并且比其他文件要求的要多,如下所示:

var dummy = require('./dummy.js');
console.log(dummy.user); // rally

到目前为止一切都很好,但是现在我进入了代码,在模块的开头有这个定义:

module.exports = function(passport,config, mongoose) {}

而且我不了解它的含义以及如何使用它。只是为了试图理解我在此抽象函数中定义了一些变量,但无法从任何其他文件中获取它们的值。任何想法我怎么能从这样定义的模块中导出变量..?因此,例如,我可能需要此模块并获取“虚拟”变量,并在其他文件中使用它

module.exports = function(passport,config, mongoose) {
var dummy = "Dummy";
}
费利克斯·克林(Felix Kling)

它的工作原理与第一个完全相同,只是它导出的是函数而不是对象。

然后,导入模块的模块可以调用该函数:

var dummy = require('./dummy.js');
dummy();

任何想法我怎么能从这样定义的模块中导出变量..?

由于函数只是对象,因此还可以为其分配属性:

module.exports = function(passport,config, mongoose) {}
module.exports.user = 'rally';

但是我认为,如果模块直接导出函数,这是不太期望的。您最好将函数导出为自己的导出:

exports.login = function(passport,config, mongoose) {}
exports.user = 'rally';

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章