模块的含义.Exports = node.js中的函数
meaning of module.exports= function in node.js
我正在采取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) {}
我不明白它是什么意思,我该如何使用它。只是为了理解,我在这个抽象函数中定义了一些变量,但无法从任何其他文件中获得它们的值。任何想法我怎么能导出变量从模块定义像这样…?因此,例如,我可以需要这个模块,并获得"Dummy"变量,并在另一个文件
中使用它module.exports = function(passport,config, mongoose) {
var dummy = "Dummy";
}
它的工作原理与第一个完全相同,只是它导出一个函数而不是一个对象。
导入该模块的模块可以调用该函数:
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';
什么是模块?
模块将相关的代码封装到一个单独的代码单元中。在创建模块时,这可以解释为将所有相关函数移动到文件中。
// dummy.js
var exports = module.exports = {};
当dummy.js
的封装代码可以在其他文件中使用时,它的效用就会增加。这是通过exports
实现的。
它们是如何被调用的?
你可以在模块外声明你的函数。出口。可以像调用变量或任何其他对象一样调用导出中的函数。
//dummy.js
var myVariable = "foo";
var myFunction = function(){
//some logic
};
module.exports{
myVariable : myVariable,
myFunction : myFunction,
myVariableTypeTwo : "bar",
myFunctionTypeTwo : function () {
//some logic
}
}
我们现在可以从任何js文件中以属性的形式访问dummy.js的公开方法。
var dummy = require('./dummy.js');
dummy.myVariable; //foo
dummy.myFunction();
dummy.myVariableTypeTwo; //bar
dummy.myFunctionTypeTwo();
注意
在上面的代码中,我们可以替换module。导出与导出实现了相同的结果。如果这看起来令人困惑,请记住导出和模块。导出引用相同的对象相关文章:
- 当js函数's已执行
- 调用php数组中的JS函数
- 为JS函数添加延迟
- 我如何制作一个JS函数,它可以从相似的原始颜色双向更改为某个颜色
- 使用JS函数来使用另一个函数的语法?node.js
- 将JS函数传递给Emscripten生成的代码
- 是否可以在使用headerphp函数后自动调用JS函数
- 如何在.js函数中检索来自其他模板的表单的目标值
- 简单的JS函数.需要对变量进行澄清
- 无法识别从php创建的Js函数
- 如何将对象传递给这个js函数
- 全局窗口热键在最小化chrome窗口时调用js函数
- 将重定向URL链接添加到JS函数
- 从PHP调用JS函数不起作用
- js函数堆栈传入变量,.hide()不起作用
- 当运行JS函数时,如何在c#中的Edgejs中获取错误文本
- 如何让JS函数自行执行
- 使用默认js函数的javascript中的日期的第二天
- 如何从页面中的jquery调用angular js函数控制器
- 从.js文件调用html中的js函数