backbone-ui ライブラリを使用しようとしていますが、モジュールをロードするための require.js 構成がわかりません。
main.js:
requirejs.config({
baseUrl: '/static/js/facebook_report_app/js',
paths: {
backbone: 'lib/backbone'
, underscore: 'lib/underscore'
, jquery: 'lib/jquery'
, laconic: 'lib/laconic'
, moment: 'lib/moment'
, backboneUI: 'lib/backbone-ui/js/backbone_ui'
, menuUI: 'lib/backbone-ui/js/menu'
, textUI: 'lib/backbone-ui/js/text_field'
, text: 'lib/text'
},
shim: {
'lib/underscore': {
exports: '_'
},
'laconic': {
deps: ["jquery"],
exports: "$.el"
},
'lib/backbone': {
deps: ['lib/underscore']
, exports: 'Backbone'
},
'backboneUI': {
deps: ['lib/backbone', 'laconic', 'jquery']
, exports: 'Backbone.UI'
},
'textUI': {
deps: ['jquery', 'lib/backbone', 'backboneUI', 'laconic']
, exports: 'Backbone.UI.TextField'
},
'menuUI': {
deps: ['lib/backbone', 'backboneUI', 'laconic', 'textUI']
, exports: 'Backbone.UI.Menu'
},
'lib/backgrid': {
deps: ['lib/underscore', 'lib/backbone']
, exports: 'Backgrid'
},
'report_app': {
deps: ['lib/underscore', 'lib/backbone', 'lib/backgrid', 'backboneUI']
}
}
});
require([
'facebook_report_app'
],
function(FacebookReportApp) {
window.fbReport = new FacebookReportApp();
});
menu_user.js
define(['jquery', 'lib/backbone', 'backboneUI', 'menuUI', 'laconic'], function(AccountPickerView) {
var AccountPickerView = Backbone.UI.Menu.extend({
el: '.left-nav',
});
return AccountPickerView;
});
これを dev にロードすると、Backbone-UI ライブラリの text_field.js の 44 行目に、「オブジェクト [オブジェクト オブジェクト] にはメソッド 'input' がありません」と報告されます。
私の構成アプローチはそもそも壊れていると思います - menu.js と text_field.js ファイルを追加しました bc エラーが発生しました 'Backbone.UI.Menu' と Backbone.UI.TextField' (メニューの要件)定義されています。しかし、backbone-ui のさまざまなファイルを取り込むためのよりクリーンな方法が必要です。
では、「メソッド入力なし」エラーを取り除くにはどうすればよいですか? または、バックボーン UI を使用するように構成する方がよいでしょうか? それとも、そもそも jQuery UI を使用する必要がありますか? その場合、その構成をどこで把握できますか?