尽管脚本已下载,但requirejs根本不会注入任何内容

时间:2013-07-17 08:20:05

标签: javascript requirejs

无论我在shell.js中注入了什么对象,我都无法访问它。

从服务器下载,我在那里或控制台输出中没有错误。

当我在控制台中输入'mainViewModel'时,我得到了这个:

ReferenceError: mainViewModel is not defined
get stack: function () { [native code] }
message: "mainViewModel is not defined"
set stack: function () { [native code] }
__proto__: Error

应用的.js:

require(['shell'], function(Shell) {
        var shell = new Shell();
});

的.js:

define(['viewmodel/mainViewModel'], function (mainViewModel) {
    return function () {
        // When I am here the mainViewModel does not exist/undefined
    };
});

MainViewModel 的.js:

define([], function() {
    return function() {

    };
})

1 个答案:

答案 0 :(得分:0)

当js文件中存在脚本错误时,需要js有时会返回空值,我相信我之前已经看到过这种情况,并且它总是被证明是缺失的}或者;或类似的东西(我注意到一个缺失;在MainViewModel的末尾,但它在最后的权利,所以我不会怀疑它,我不知道如果这些文件中有任何额外的代码?或者他们真的是空白)。

还有Stanislav提到缓存的问题 - 因为如果它被缓存并且你修复它然后它将重新发送缓存的破坏文件(在开发时不断清除缓存可能是一个好习惯lol)。实际上urlArgs也应该与生产中的版本号一起使用,用户清除缓存在升级后不会一直发生......

返回函数一切都很好但是如果你创建一个变量,给它分配函数然后返回变量,这样可以更容易地调试被拉下来的实际文件,如果你可以得到它的断点并在刷新后记住。 然后你可以看到正在返回的对象,如果代码甚至命中该文件或者对象生成有错误(我怀疑)

有点旧...我确定你已经对你的问题进行了排序,或者现在放弃了要求js的挫败感:)