javascript - Dojo AMD 可以用 'undefined' 解析一个不存在的模块而不是失败吗?

标签 javascript dojo amd

我想加载一个可能在那里的模块。

Evil    requires            requires
BlackBox --------> myModule --------> mayExist
  • 如果 mayExist 不存在,我不希望加载 myModule 失败。我想要回调变量中的 nullundefined 值。

  • 当 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/

相关文章:

javascript - 删除所有子节点

backbone.js - Webpack ProvidePlugin 与外部插件?

javascript - 使用 jQuery Uniform.js 更改选择值

javascript - 通过参数更改函数的返回值

javascript - javascript onclick 事件的范围为 'this'

javascript - requirejs:我可以要求一个全局运行时变量吗?

windows - 在 list 列表条目中获取 : no matching manifest for windows/amd64 10. 0.18362

javascript - 原型(prototype)上的 getter 和 setter

javascript - 遍历 JSON 格式数据并构造数组

javascript - 如何在 "onclick"事件期间加载外部 Javascript 文件?