我已閱讀了很多答案並遵循了以下步驟(我似乎對),但DevTools仍顯示Backbone is not defined.
錯誤。主幹裝載了requirejs墊片但仍然主幹未定義錯誤
以下是我如何使用requirejs墊片。
<script data-main="js/subject_main.js" src="js/libs/require.js"></script>
subject_main.js
require.config({
paths: {
bootstrap: '../libs/bootstrap.min',
jquery: '../libs/jquery',
underscore: '../libs/underscore',
backbone: '../libs/backbone',
text: '../libs/text',
json2: '../libs/json2',
templates: '../../templates'
},
shim: {
'boostrap':{
deps: ['jquery']
},
'backbone': {
deps: ['jquery', 'underscore'],
exports: 'Backbone'
},
'underscore': {
exports: '_'
}
}
});
require(['subjects', 'json2'], function(app) {
app.initialize();
});
subjects.js
define(['jquery', 'underscore', 'backbone', 'subject_router'], function($, _, Backbone, router) {
return {
initialize: function() {
Backbone.history.start();
}
};
});
subject_router
define([
'jquery',
'underscore',
'backbone',
'models/subject_item_model',
'collections/subjects_collection',
'views/subject_view'
],function($, _, Backbone) {
var AppRouter = Backbone.Router.extend({ ... });
return new AppRouter();
});
個
以下腳本的順序(sequence)的Chrome DevTools節目 -
正如你所看到的,骨幹在非常結束加載。我不知道發生了什麼問題以及在哪裏。
你如何得到「Backbone is not defined」?它是否顯示在控制檯中的文件名和行號? (如果是這樣,你向我們展示的代碼中的這個位置在哪裏?)這是因爲你在控制檯輸入了'Backbone''而解釋器不能解釋它嗎? – Louis
@Louis它出現在'subject_router.js'上線我嘗試創建一個路由器。 DevTools中的Network選項卡顯示路由器在主幹之前首先加載。 – Gimali
我不知道它是否重要,但是在代碼中沒有使用'bootstrap'。 –