5

当我按 F5 重新加载我的应用程序时,有时会抛出错误,有时不会。

我正在使用 Chrome 进行调试。有时控制台会报告此错误:

Uncaught ReferenceError: unit_directionals is not defined

有时会抛出没有像在这种情况下为 jquery 定义的引用:“Uncaught ReferenceError: jQuery is not defined”

如果我以正确的方式定义了文件,会有什么问题?

这是我在 main.js 中指向主索引 html 的代码:

requirejs.config({
    baseUrl: 'js/lib',
    paths:{
        app:'../app',
        models: '../app/models',
        views: '../app/views'
    }
})

requirejs(
    [
        //load lib in this order
        'underscore', 'handlebars', 'jquery','backbone', 'uri',
        //load models, views...
        'app/models/items.model', 'app/models/results.model',
        'app/views/items.view', 'app/views/results.view',
        'app/index'
    ],
    function(jQuery,$,_....) {
        //init app
    }
);
4

1 回答 1

10

requirejs 异步加载模块,它们可能会乱序加载——它们不能保证按照 require 调用中指定的顺序加载。如果脚本是 AMD 模块,并且调用 define() 及其依赖项,这不是问题。

但是,如果脚本仅使用浏览器全局变量和隐式依赖项,如主干和可能的把手,则需要shim 配置来正确表达依赖项和导出值。

于 2012-09-08T06:19:25.507 回答