0

我正在使用 Javascript 模块模式,因为它提供了许多好处,并且我在运行时使用以下方法加载 JS 文件:

return $.ajax({
    url: "../../Scripts/myFile.js",
    dataType: "script",
    cache: true
});

myFile.js 的第一行是 myModule.Loaded = {},我在父(调用)脚本上使用它来确保加载了 myFile.js。

这是 myFile.js 的前几行:

myModule.Loaded = {};
myModule.sub1 = (function () {
    // some code
})();

但发生的情况是,myModule.Loaded 值未定义,这给人的印象是文件尚未加载,即使在 Firefox Firebug 上,我可以在“脚本”选项卡中看到该文件已加载,但它会丢失模块定义和变成这样:

// the 1st line (myModule.Loaded = {}) vanished
function () {
    // the same code as above
}

我的意思是,它变成了一组匿名函数,而不是保留模块模式。怎么了?

4

0 回答 0