我有许多模块我想在运行时有条件地加载/不加载。但是,我不知道捆绑时模块的名称。我的代码是这样的:
function A(depModule){
return {
theActionThatDependsOnThatModule: function(){
require([depModule], function(dep){
dep.doSomething();
});
}
}
}
然后我有一堆消耗上面的模块,就像这样:
require.ensure('../window');
var obj = A('../window');
obj.theActionThatDependsOnThatModule()
但是我得到了' require.ensure未定义'浏览器错误。 我究竟做错了什么?我错过了什么吗?
答案 0 :(得分:0)
所以我找到了一个解决方案。这很难看,也许有人可以告诉我如何做得更好,但同时它对我有用:
function A(depModule){
return {
theActionThatDependsOnThatModule: function(){
depModule(function(dep){
dep.doSomething();
});
}
}
}
var obj = A(function(cb){
require(['./window'], cb);
});
obj.theActionThatDependsOnThatModule()