我想加载一个可能的模块。
Evil requires requires
BlackBox --------> myModule --------> mayExist
如果mayExist
不存在,我不希望加载myModule
失败。我想在回调变量中使用null
或undefined
值。
当AMD加载器将myModule
返回BlackBox
时,我需要知道我是否可以依赖mayExist
。我真的不能首先加载myModule
,然后启动mayExist
的异步请求,然后处理可能的错误。那是因为那个黑盒子不会等到做它邪恶的事情。
是否有一些可靠的方法在define
的配置对象中指定,如果不存在依赖项,我不希望发生一般性故障?
答案 0 :(得分:1)
为什么不让你的框架用户决定,或留下一个空的,有效的存根以供你的用户覆盖?
假设这不是一个选项,你可以尝试内联 - require
- 它,一个... ...
define([... "require", ...],
...
postCreate: function() {
this.inherited(arguments);
try {
require(["my/custom/Thing"], lang.hitch(this, function(Thing) {
this.thing = new Thing();
}));
catch (e) {
// do something else (or not).
}
}
...