我正在尝试将其包含在 web application 中库 jquery-ui。
为此,我以这种方式更改了代码:
require.config({
paths: {
jquery: 'libs/jquery/jquery-min',
ui: 'libs/jquery-ui/jquery-ui-min', // ******** I just added this line ********
underscore: 'libs/underscore/underscore-min',
backbone: 'libs/backbone/backbone-optamd3-min',
text: 'libs/require/text'
}
});
require(['views/app'], function(AppView){
var app_view = new AppView;
});
有时我会收到以下错误:
jQuery is not defined
由于 RequireJS 以不确定的顺序加载和评估脚本,
我想这取决于 jquery.ui
库(依赖于 jquery
)有时在 jquery 之前加载的事实。
根据documentation我可以使用 order plugin
。
无论如何,对于需要强调的主干,这个问题永远不会发生。
所以我的问题是:
为什么对于主干(由下划线决定)这个问题从来没有发生过?
我必须使用 order plugin
来解决 jquery-ui
的问题吗?
最佳答案
Backbone 确实也需要顺序
或其他一些插件来按顺序加载...
除了你的情况,你已经选择不使用普通的 Backbone,而是使用 James Burke 的一个分支(我猜从这里:https://github.com/jrburke/backbone)。这由您将主干路径指定为 backbone-optamd3-min
来指示。看来您已经忘记了它;)
使用 amd 分支很好,只要您记得您做出了这个选择。如果您决定改用插件,您可以使用普通 Backbone.js。
关于javascript - RequireJS 和依赖于以特定顺序加载的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9772904/