像NodeJS module.exports一样将variables传递给IIFE

我试图将一个variables传递给另一个文件( 需要一个模块)的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 

我怎样才能传递newFoovariables,所以modulo.js可以在内部使用它?

(其实,我想传递一个套接字,所以我的module.js可以使用它与服务器通信)

非常感谢您提前!

编辑:解决scheme

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读取,而是从modulo.js的实际foovariables中modulo.js 。 Javascript是传值的原始值;)