私はrequire.jsを使用するために、私のまだ完成していないemberアプリを作り直そうとしています
これは主に利子の値のためであり、便宜上、ハンドルバー テンプレートに require-text を使用したいときに調べ始めました。したがって、AMD関連のパフォーマンスの勝利などについて調べたことはありません。しかし、モジュールを定義することでモジュールの設定を開始したので、読みやすくなり、それを使い続けたいと思います。
スタック オーバーフローに関する質問があり、質問者が戻ってきてその結果をEmber.js と RequireJSに投稿しましたが、todo MVC の例のような他の例はどれも、ファイルを最適に構造化して参照する方法に関する参照で見つけることができませんより複雑なアプリ。
とにかく、私の質問は次のとおりです。require JS を正しく使用するために従うべきルールは何ですか。それは何を達成しますか (AMD へのアクセスは別として)? 実際にそれを必要としないテストプロジェクトで頭を悩ませるのは難しいですが、将来使用できるように正しいエンバー関連の原則を学びたいです。
コード例から、モジュールからグローバル名前空間へのすべての参照を削除することが考えられることがわかりました。あれは正しいですか?私がパターンを見つけるのに十分な例はありません。
現時点では、私の構造の最上位にあるファイルには、このようなものが含まれている可能性があります
<script>
define(['jquery',
'app/controllers/mailshotlist',
'app/controllers/sites',
'ember'],
function($, MailShotList, Sites) {
var App = Em.Application.create({
Views: Em.Namespace.create(),
Models: Em.Namespace.create(),
Controllers: Em.Namespace.create(),
init: function() {
this._super();
this.Controllers.set('Sites',Sites.create());
this.Controllers.set('MailShotList',MailShotList.create({
sitesControllerBinding: 'App.Controllers.Sites'
}));
}
});
return window.App = App;
});
</script>
そのため、アプリの初期化で明示的な app.x 参照をつなぎ合わせようとしています。モジュールがすべてコード内で明示的に相互に参照している場合、適切にモジュール化されていないと思います。現時点ではモジュールを再利用したい段階ではありませんが、それが目標の1つであると想定しています
これがAMDに価値があるかどうかについての議論にならないようにしたいのですが、require jsでemberを最大限に活用するには、どのルールに従う必要があるかについて特に質問があります。ただし、require で ember を使用しない明確な理由がある場合、それは興味深いことです。
私は少し取り乱し、これを「非生産的」としてロックするリスクを冒していると思いますが、私の質問と私が理解しようとしていることを理解できる場合(または私が間違ったツリーを完全に吠えている場合)、投稿してください返信