Requirejs を使用して Backbone アプリをモジュール化しようとしていますが、Requirejs に Backbone を含めることができないようです。インデックス ページから含まれる私の main.js は次のとおりです。
require.config({
baseUrl: '/static/js/',
paths: {
jquery: 'libs/jquery/jquery-min',
underscore: 'libs/underscore/underscore-min',
backbone: 'libs/backbone/backbone-min',
text: 'libs/require/text',
},
});
require(['/static/js/views/app.js'], function(AppView) {
var appView = new AppView;
});
上記のファイルから含まれる app.js は次のとおりです。
define([
'jquery',
'underscore',
'backbone',
], function($, _, Backbone) {
console.log($);
console.log(_);
console.log("inside of the app js file");
var AppView = Backbone.View.extend({
initialize: function() {
console.log("inside of appview initialize");
},
});
});
次の情報が Google Chrome コンソールに出力されます。
function (a,b){return new e.fn.init(a,b,h)}
app.js:7undefined
app.js:8inside of the app js file
app.js:9Uncaught TypeError: Cannot read property 'View' of undefined
$ の定義は機能しますが、_ と Backbone の定義は機能しません。それらは未定義として表示されます。なぜこれが起こっているのですか?