というバックボーン アプリケーション モジュールがapp.js
あります。これは次のようになります。
// module: app
define([
'Marionette',
'collections/links'
], function (Marionette, Links) {
var app = Marionette.Application()
app.addInitializer(function () {
new Links()
})
return app
})
app
モジュールはインスタンスを作成し、Marionette.Application
適切な初期化子を追加します。Links
これらの 1 つは、コレクションのインスタンスを作成することです。
ただし、私のモジュールは、そのオブザーバー システムcollections/links
のモジュールに依存しています。app
// module: collections/links
define([
'app',
'Backbone'
], function (app, Backbone) {
var Links = Backbone.Collection.Extend({
initialize: function () {
// Outputs undefined
console.log(app)
// This then wouldn't work because app hasn't been initialised:
// app.on('someEvent', function () {})
}
})
return Links
})
このモジュールは の依存関係としてリストされており、このモジュールの依存関係であるためapp
、app
再帰的な依存関係があることに気付きました。最終的に、RequireJSはロードされるcollections/links
前にモジュールを初期化するように見えます。app
AMD を使用してアプリケーションを設計し、モジュールとモジュールをapp
使用できるようにするにはどうすればよいですか?collections/links
collections/links
app