RequireJS工作不一致

Iva*_*rez 5 javascript jquery requirejs backbone.js underscore.js

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

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

Uncaught ReferenceError: unit_directionals is not defined
Run Code Online (Sandbox Code Playgroud)

有时会抛出一个引用没有定义,就像在这种情况下jquery:"未捕获的ReferenceError:jQuery没有定义"

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

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

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
    }
);
Run Code Online (Sandbox Code Playgroud)

jrb*_*rke 10

requirejs加载模块异步并且它们可以无序加载 - 它们不能保证按require调用中指定的顺序加载.如果脚本是AMD模块,并且使用其依赖项调用define(),则这不是问题.

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