これに丸一日を費やしてきました。バックボーン アプリにモジュールを含めるために、require.js を使用しています。これは私が持っているものです:
私のrequirejs設定:
paths:
jquery: "backbone/initializers/jquery_loader"
jqueryui: "backbone/initializers/jqueryui_loader"
modules:
- name: 'application'
- name: 'jquery'
exclude: ['application']
- name: 'jqueryui'
exclude: ['application', 'jquery']
- name: 'email'
exclude: ['application']
- name: 'department_home'
exclude: ['application']
priority: ['application', 'jquery', 'jqueryui']
私のjquery_loader:
define ["jquery.min"], () ->
jQuery = $
jQuery.noConflict(true)
私のjqueryui_loader:
define ['jquery.ui.all'], () ->
私のメールモジュール:
define ['marionette', 'jqueryui', 'tags'], (Marionette, ui, tags) ->
私の部署のホーム モジュール
define ['marionette', 'jqueryui', 'dept_tags'], (Marionette, ui, tags) ->
すべてが期待どおりに動作し、コンパイルされますが、理解できないか、何かが欠けている可能性があります。メールモジュールはクリックイベントで動的にロードされ、jqueryui が含まれています。これは最適化された r.js に過ぎないと思いますファイル。
ここで、電子メール モジュールがロードされた後に別のクリック イベントを実行すると、部門モジュールにも jquerui が含まれていることがわかります。どちらも 90KB で受信されます。部門モジュールは、電子メール モジュールによって既にロードされている jqueryui を使用することを期待していました。
あなたの助けに感謝!