我测试了下面的代码,但它不起作用。我刚刚测试了模块是否已加载。
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();
});
}

如果模块存在,我该如何加载模块?
答案 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.
});