如何获取 IIFE 的 return 值?
How to get return value of IIFE?
我在文件中有以下 IIFE iife.js
:
(function() {
return "Hello World!";
}());
我想在另一个文件中得到这个函数的结果:
var result = require("./iife");
console.log(result);
但是 result
是 {}
而不是 Hello World!
。
如何从另一个文件访问 IIFE 的 return 值,最好不更改 iife.js
中的代码?
您必须在左侧捕获它:
const return_value = (function() {
return "Hello World!";
}());
但是如果你想从 CommonJS 模块导出它,那么你需要将它分配给模块的导出:
module.exports = return_value;
但是,如果您使用的是 CommonJS 模块,那么一开始就没有必要使用 IIFE。 IIFE 用于隔离变量,无论如何模块都会这样做。
module.exports = "Hello World!";
我在文件中有以下 IIFE iife.js
:
(function() {
return "Hello World!";
}());
我想在另一个文件中得到这个函数的结果:
var result = require("./iife");
console.log(result);
但是 result
是 {}
而不是 Hello World!
。
如何从另一个文件访问 IIFE 的 return 值,最好不更改 iife.js
中的代码?
您必须在左侧捕获它:
const return_value = (function() {
return "Hello World!";
}());
但是如果你想从 CommonJS 模块导出它,那么你需要将它分配给模块的导出:
module.exports = return_value;
但是,如果您使用的是 CommonJS 模块,那么一开始就没有必要使用 IIFE。 IIFE 用于隔离变量,无论如何模块都会这样做。
module.exports = "Hello World!";