ええと、この問題に適切なタイトルを付けるのは難しいです。すみません。
私が構築しているbackbone.jsアプリケーションで。モデル、ビュー、テンプレートはすべて個別のjavascript、htmlファイルにあります。モデル、ビュー、およびテンプレートを、グローバル変数を汚染することなく、つまり実行せずに、アプリケーションのbootstapperファイル(app.js)にエクスポートしたいと思いますwindow.App.Model = myModel;
。エクスポートとは、ファイル内のコードをapp.jsで初期化して実行できるようにすることを意味します
どうすればこれを行うことができますか?
問題を解決するパターンはありますか?例を教えてください
説明
モデル、ビュー、およびテンプレートが多くの異なるファイルに分割されている場合、アプリケーションのブートストラッパーファイルapp.jsには、これらのM、V、Cコンポーネントにアクセスするための何らかの手段が必要です。したがって、一般的なアプローチは、model.jsファイル内で以下を行うことです。
window.App.Model.PersonModel = Backbone.Model.extend({});
App.js
var instance = new window.App.Model.PersonModel();
var personView = new window.App.Views.PersonView({model:instance});
最後に、すべてがグローバルオブジェクトから派生していることがわかりますApp
。これは、アプリケーションの依存関係を構築するための安全ではなく、不適切で弱い方法ではないと思います。
提案
上記の質問に対して、誰かがテンプレートをロードするために使用できるテンプレートロードライブラリ(使用されているエンジンに関係なくjavascriptテンプレート)を提案できますか?