[英]Pass variable to IIFE like NodeJS module.exports
我想一个变量传递到另一个文件中的IIFE( 所需的模块),但它被忽略。
index.js
var modulo = require('./modulo');
modulo.foo = "newFoo";
console.log(modulo.foo);
console.log(modulo.myFunction.innerFunction());
modulo.js
var foo = "oldFoo";
var myFunction = (function(innerFoo) {
return {
innerFunction: function () {
return "Returning innerFunction with " + innerFoo;
}
};
})(foo);
module.exports.foo = foo;
module.exports.myFunction = myFunction;
现在,当我执行node index.js
,结果是:
newFoo
Returning innerFunction with oldFoo
如何传递newFoo变量,以便modulo.js可以在内部使用它?
(实际上,我想传递一个套接字,以便我的module.js可以使用它与服务器进行通信)
提前非常感谢您!!
modulo.js
module.exports.foo = "";
var myFunction = (function() {
return {
innerFunction: function () {
var innerFoo = module.exports.foo;
return "Returning innerFunction with " + innerFoo;
}
};
})();
module.exports.myFunction = myFunction;
您IIFE 不读取module.foo
,您所覆盖,但是从实际foo
变量modulo.js
。 Javascript是带有原始值的传值;)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.