我需要在main.js中运行一个函数(正在运行的脚本)才能在模块范围内识别:
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的功能而不重复它或将它传播到模块中?
答案 0 :(得分:1)
您可以通过将其作为参数传递给模块来提供您的功能:
Module.js:
internal bool GoUp(Group group)
{
if (!group.Open) return false;
if ((group.Index >= 0) && (group.Index < group.Groups.Count) && group.Groups[group.Index].Open) if (GoUp(group.Groups[group.Index])) return true;
group.Index--;
if (group.Index == -1) return true;
else if (group.Index < -1) group.Index = -1;
if ((group.Index >= 0) && (group.Index < group.Groups.Count) && group.Groups[group.Index].Open) group.Groups[group.Index].Index = ((group.Groups[group.Index].Groups.Count + group.Groups[group.Index].Items.Count) - 1);
return (group.Index >= 0);
}
Main.js
function x(functionNeeded){
functionNeeded();
}
module.export.x = x;
答案 1 :(得分:0)
我真的不推荐这个,但你做在节点中可以使用global
:
global.functionNeeded = function () {
};
...但:
在每个依赖它的模块中,只有require
函数才能更好 。