簡體   English   中英

將變量傳遞給IIFE,例如NodeJS module.exports

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM