加载模块(如果存在)

时间:2017-08-08 10:35:57

标签: requirejs

我测试了下面的代码,但它不起作用。我刚刚测试了模块是否已加载。



var Url=window.location.href;
var decomposedulr=Url.split("/");
console.log(decomposedulr);
var Getter=decomposedulr[decomposedulr.length-1];
//The problem is defined test if module is loaded, not if module exist
if(require.defined("Module/"+Getter[0]+"/"+Getter[1]+"/"+Getter[1]")){
  requirejs(["Module/"+Getter[0]+"/"+Getter[1]+"/"+Getter[1]],function (Module) {

                        Module.Main();

  });
  
}




如果模块存在,我该如何加载模块?

1 个答案:

答案 0 :(得分:0)

“模块是否存在?”这是一个含糊不清的问题。您已经发现require.define检查模块是否已加载,但想要的是检查调用具有某个模块名称的require是否实际加载模块。 在加载模块之前,RequireJS无法执行此检查

你可以做的只是尝试加载模块并提供错误记录模块不可用的事实:

require(["someModule"], function (someModule) {
  // If we get here the module exists. Use it.
}, 
function (err) {
  // This is the errback. We get here if the module could not be loaded.
  // Perform whatever alternative is needed.
});