return 来自模块内函数的值
return value from a function inside a module
我创建了一个如下所示的模块:
module.exports = function() {
function func1 () {
}
function func2 () {
}
return function() {
func1();
func2();
return value;
};
}
当我在另一个文件中调用模块时
myModule = require('myModule')
使用模块
myModule()
我得到一个未定义的值。我做错了什么?
你正在导出一个函数,当它被调用时 returns 另一个函数反过来会抛出一个 ReferenceError
说 value
是未定义的,你可以通过定义 value
.
return function() {
func1();
func2();
return 1; //for example
};
为了运行你需要调用它两次。
myModule()();
>> 1
我的猜测是您只想返回值,因此将其包装在 IIFE
中
module.exports = function () {
return (function() {
func1();
func2();
return 1; //for example
})();
}
如果您期望 myModule()
到 return 一个值,您可以导出 IIFE:
module.exports = function () {
function func1() {
}
function func2() {
}
return function () {
func1();
func2();
return value;
}();
}
我创建了一个如下所示的模块:
module.exports = function() {
function func1 () {
}
function func2 () {
}
return function() {
func1();
func2();
return value;
};
}
当我在另一个文件中调用模块时
myModule = require('myModule')
使用模块
myModule()
我得到一个未定义的值。我做错了什么?
你正在导出一个函数,当它被调用时 returns 另一个函数反过来会抛出一个 ReferenceError
说 value
是未定义的,你可以通过定义 value
.
return function() {
func1();
func2();
return 1; //for example
};
为了运行你需要调用它两次。
myModule()();
>> 1
我的猜测是您只想返回值,因此将其包装在 IIFE
中module.exports = function () {
return (function() {
func1();
func2();
return 1; //for example
})();
}
如果您期望 myModule()
到 return 一个值,您可以导出 IIFE:
module.exports = function () {
function func1() {
}
function func2() {
}
return function () {
func1();
func2();
return value;
}();
}