【发布时间】:2014-02-18 00:46:45
【问题描述】:
我正在使用最新的 qooxdoo SDK (3.5) 并试图找到一种动态加载模块的方法。每个模块都将实现一个“init”函数,该函数在应用程序中创建一个窗口,并且从那时起,它是自包含的。
我需要的是在事先不知道模块存在的情况下调用任意 init 函数的能力。例如,有人上传了一个自定义模块并尝试运行它——我只需要调用该模块的 init 函数(如果调用失败则报错)。
有什么想法吗?
编辑:
类似:
function loadModule(modName) {
var mod = new qx.something.loadModule(modName);
mod.init();
}
【问题讨论】:
-
您想如何检测它已上传?
-
没关系,如果不存在,我只是显示错误。
-
我不清楚您要做什么。您想接受一个新模块然后立即动态加载它吗?或者你想要某种插件机制,人们可以上传新插件,每次你的应用程序启动时都会加载所有这些插件?还是有什么不同?
-
这基本上是我必须编写代码来加载我拥有的每个模块的捷径。例如,如果我以正常方式执行此操作,对于每个模块,我必须有几行调用每个模块的 init 函数。我想要的是一个函数,我可以将模块名称传递给它并加载模块(没有大量的 if-else 块)。
-
更重要的是,当有人上传模块时,您是否有一些代码被调用(最好是模块名称)?
标签: javascript dynamic qooxdoo