我需要main.js(在運行腳本)的函數的模塊的範圍要被識別:添加功能到外部模塊中的NodeJS
Modules.js:
function x(){
functionNeeded();
}
module.export.x = x;
Main.js
var m = require("modules.js");
function functionNeeded(){
//function needed to call
}
//m.x() is called successfully
//but fails because functionNeeded is not defined (check modules.js)
//with m.functionNeeded = functionNeeded before calling m.x() it also fails.
有沒有人對這個如何實現這樣我可以傳播本功能的任何想法main.js跨幾個模塊的離子,而不復制或傳播到整個模塊?
爲什麼不把它放在它自己的模塊中,並且需要它在你需要的地方。另一種選擇是將它作爲參數傳遞。 – adeneo
不改變module.js,你不能這樣做。 module.js在它自己的範圍內運行,並且你不能從module.js之外改變這個範圍(除了弄壞全局變量之外,這絕對不是一個好主意)。當然,您可以編輯module.js以多種方式解決此問題(最靈活的方法是將'functionNeeded()'放在它自己的module中,module.js可以'require()'或者可以傳遞它in'x()'作爲回調 – jfriend00