次のセットアップを使用して、多くの js (jquery) モジュール (ファイル) を含むアプリを構築しています。
- ビルドはGruntタスク ランナーを使用して実行されます。
- ハンドルバーテンプレートを使用して、 *.hbsファイルから html を生成します。
- ビルド中に、すべての js ファイルを 1 つの縮小ファイルに醜くします。
- アプリケーションで縮小されたファイルを呼び出します
<script src="assets/js/app.min.js"></script>
今、requirejsを使用してコードを整理し、AMD 仕様に準拠したいと考えています。
しかし、このアプローチには 3 つの問題があります。
- すべての js に対して 1 つの縮小ファイルが必要です。これにより、コードを「デコード」してコピーするのが難しくなり(jquery、モダナイザーなどの他の依存関係と混合されているため)、スクリプトが個別に呼び出された場合に余分な http リクエストを回避するのにも役立ちます。アプリとそのメインファイル内で、他の必要なファイルを呼び出します..私はそのような構成を持っていません。
- 私が使用している依存関係の多くは、bower パッケージ (ディストリビューションには含まれていません) にあります。これにより、提案されたrequirejs メソッドを使用してこれらのファイルを呼び出すことができなくなります。
- define(); を呼び出さないサードパーティのプラグインでこれに jquery を使用しています。それらを機能させるには、シム構成を使用する必要があり、これが再び問題#2を引き起こします!
では、コードをモジュール内に保持し、適切に整理しながら、requirejs を利用するにはどうすればよいでしょうか?
長い質問で申し訳ありません。読んでくれてありがとう:)
ps: 質問のタイトルを自由に変更してください。より良いタイトルが見つかりませんでした。