我想我不完全理解的方式require.js作品。下面是一個簡單的模塊,我創建:處理require.js
requirejs.config({
paths: {
'underscore' : 'libs/underscore-min',
'backbone' : 'libs/backbone-min'
}
});
define([
"underscore",
"backbone"
], function(_, Backbone) {
console.log(_);
console.log(Backbone);
var MyCollection = Backbone.Collection.extend({
initialize: function() {
this.on("all", function(event) {
console.log(event);
});
}
});
return MyCollection;
});
我從我的html加載:
<script data-main="js/mycollection.js" src="js/libs/require.min.js"></script>
的問題是間歇工作。有時Backbone對象在我需要的時候出現在函數中,有時它不會(並且給我提供了http://requirejs.org/docs/errors.html#notloaded錯誤)。如果我只是在瀏覽器中重新加載,我會得到50/50的改變。
我必須在這裏錯過一些非常基本的東西,報告的錯誤對我沒有任何意義,我認爲require.js機制的整個想法是我的函數只有在加載所有依賴時才被調用。