我有一個Backbone應用程序,它可以從使用Backbone的代碼中的不同位置非確定性地獲取Backbone is not defined
的錯誤。有時它首先加載並且網站加載,而其他時間則不加載。我用以下爲我main.js:骨幹未定義
require.config({
paths: {
jqueryui: 'libs/jquery/jquery-ui',
underscore: 'libs/underscore/underscore-min',
backbone: 'libs/backbone/backbone-min',
text: 'libs/require/text',
order: 'libs/require/order',
searchcollector: 'libs/jquery/searchcollector.plugin',
guiders: 'libs/jquery/guiders'
},
shim: {
'underscore': {
exports: '_'
},
'backbone': {
deps: ['underscore'],
exports: 'Backbone'
}
}
});
require([
'views/app',
'helpers'
], function(app) {
var app = window.app = new app();
});
我在我的HTML中使用
<script data-main="/assets/js/main" src="/assets/js/libs/require/require-jquery.js"></script>
所以jQuery是加載了要求。我從這個建議(http://stackoverflow.com/questions/8131265/loading-backbone-and-underscore-using-requirejs)SO線程,但似乎沒有工作。 Shim不應該首先加載骨幹網,然後將其全球化?任何幫助讚賞。
也許不與你的問題相關,但如果您使用的依賴關係(一RequireJS 2.0功能)的「中間層」的配置,你不」需要使用訂單插件,看到這個:https://github.com/jrburke/requirejs/wiki/Plugins它說,訂單插件僅適用於RequireJS 1.0 – Diego 2012-08-14 04:11:52
良好的訂單插件。事實上,當我從1.0切換到2.0並且不知道更改時,我遇到了同樣的問題(使用require2.0中的順序)。我忘記了我的問題是否與@eipark類似,但我記得它吹了我的代碼。 – jmk2142 2012-08-14 08:24:22