2

我有许多模块我想在运行时有条件地加载/不加载。但是,我不知道捆绑时模块的名称。我的代码是这样的:

function A(depModule){
    return {
        theActionThatDependsOnThatModule: function(){
            require([depModule], function(dep){
                dep.doSomething();
            });
        }
    }
}

然后我有一堆模块使用上面的模块,如下所示:

require.ensure('../window');
var obj = A('../window');
obj.theActionThatDependsOnThatModule()

但我在浏览器中收到“require.ensure is undefined”错误。我究竟做错了什么?我错过了什么吗?

4

1 回答 1

0

所以我有点找到了解决办法。这很难看,也许有人可以告诉我如何做得更好,但同时它对我有用:

function A(depModule){
    return {
        theActionThatDependsOnThatModule: function(){
            depModule(function(dep){
                dep.doSomething();
            });
        }
    }
}

var obj = A(function(cb){
    require(['./window'], cb);
});
obj.theActionThatDependsOnThatModule()
于 2014-08-19T12:35:52.700 回答