我想加载一个可能在那里的模块。
Evil requires requires
BlackBox --------> myModule --------> mayExist
如果
mayExist
不存在,我不希望加载myModule
失败。我想要回调变量中的null
或undefined
值。当 AMD 加载器将
myModule
返回给BlackBox
时,我需要知道我是否可以依赖于mayExist
或不是。我真的负担不起首先加载myModule
,然后启动对mayExist
的异步请求,然后处理可能的错误。那是因为那个黑盒子不会等着干坏事。
是否有一些可靠的方法可以在 define
的配置对象中指定,如果依赖项不存在,我不希望出现一般性失败?
最佳答案
为什么不让您的框架用户来决定,或者留下一个空的有效 stub 供您的用户覆盖?
假设这不是一个选项,您可以尝试内联-require
-ing,a la...
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).
}
}
...
关于javascript - Dojo AMD 可以用 'undefined' 解析一个不存在的模块而不是失败吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25544468/