Webpack随机模块在运行时加载

时间:2014-08-19 10:48:38

标签: javascript amd webpack

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

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

然后我有一堆消耗上面的模块,就像这样:

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

但是我得到了' require.ensure未定义'浏览器错误。 我究竟做错了什么?我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

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

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

var obj = A(function(cb){
    require(['./window'], cb);
});
obj.theActionThatDependsOnThatModule()