3

私は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 を使用しない明確な理由がある場合、それは興味深いことです。

私は少し取り乱し、これを「非生産的」としてロックするリスクを冒していると思いますが、私の質問と私が理解しようとしていることを理解できる場合(または私が間違ったツリーを完全に吠えている場合)、投稿してください返信

4

4 に答える 4

5

私自身の意見はまだ述べていませんが、Ember.js の開発者である Tom Dale 氏はこの件について次のように述べています。

http://tomdale.net/2012/01/amd-is-not-the-answer/

于 2012-05-07T09:22:43.737 に答える
3

EmberJS と RequireJS を引き続き使用する場合は、

EmberJS+RequireJS のスターター キットを github にアップロードしました。確認できます https://github.com/fernandogmar/Emberjs-RequireJS

これは、十分に大きなプロジェクトに対する私の特別な提案です...

良い提案は高く評価されます。楽しんで!

于 2012-12-09T21:06:48.060 に答える
2

emberjs / requirejs の関係を特別なものにするものは何もありません。それらは直交しています。Ember はスクリプト ファイル間の依存関係を解決しますか? いいえ、requirejs は MVC フレームワークですか? いいえ、それで何が問題なのですか? emberjs での requirejs の使用は、AMD を提供しないライブラリでの requirejs の使用と同じです。ここでは特別なことは何もありません。AMDが欲しいですか?requirejs を使用して独自のモジュールを定義し、それらの間の依存関係を解決します。それがポイントです。

唯一の質問は、解決すべき問題があるかどうかです。

于 2012-12-09T21:18:57.683 に答える
1

@mpm が書いたように、Ember.js + RequireJS またはその他の AMD 以外のフレームワーク + RequireJS について特別なことは何もありません。

良い出発点は、RequireJS ドキュメントと Ember.js + RequireJS TodoMVC プロジェクトの例です。

于 2013-03-19T13:15:10.253 に答える