本番環境に移行する準備が整うまでは、RequireJS を使用することをお勧めします。次に、スクリプトをコンパイルし、RequireJS を Almond に置き換えます。これは、James Burke (RequireJS の作成者) によって作成された最小限のライブラリであるため、シームレスに動作するために信頼できます。
一部の開発者は、AMD API を使用してモジュラー JavaScript をコーディングすることを好みますが、最適化されたビルドを行った後は、RequireJS のような完全な AMD ローダーを含めたくありません。これらのすべての機能は必要ないためです。モバイルなどの一部のユース ケースは、ファイル サイズに非常に敏感です。
ビルド ファイルにアーモンドを含めることで、RequireJS は不要になります。Closure Compiler で圧縮して gzip すると、almond は約 1 キロバイトになります。
https://github.com/jrburke/almond
編集:
Curl.js もオプションです。私はそれを使用していませんが、RequireJS よりもはるかに小さいことを知っています。理由について少し調査しました:
RequireJS は Curl で次のことを行います (James Burke 経由):
- マルチバージョン/コンテキストをサポートし、模擬テストに役立ちますが、それがなくても大丈夫です
- AMD モジュールである必要はありません。
- 特別な検出をサポートし、古いバージョンの jQuery で動作します (jQuery 1.7.1 以降を使用している場合は問題になりません)。
- (現時点では) 簡素化されたラップされた commonjs スタイルのより良いサポート: define(function(require) {});
要するに、アプリで AMD モジュールのみを扱い、マルチバージョン/コンテキスト サポートを必要とせず、簡素化された commonjs ラッピング スタイルを使用していないか、古い jQuery を使用している場合は、curl が適切な選択になる可能性があります。
https://groups.google.com/forum/?fromgroups=#!topic/requirejs/niUyLZrivgs
そしてCurlの作者:
RequireJS は、WebWorkers や node.js など、curl.js よりも多くの場所で実行されます。また、curl.js よりも多くの「バトル テスト」が行われているため、エッジ ケースに関するバグが少ない可能性があります。curl.js には、暗黙的な依存関係のプリロードや、AMD でラップされた commonjs モジュールのサポートなど、いくつかの重要な機能も欠けています。これらはどちらもバージョン 0.6 (来週後半) で提供されます。
プラス面では、curl.js...
サイズは RequireJS の 1/4 と小さく、たとえ js にバンドルされていても! そしてdomReady! プラグインのサイズはまだ半分以下です。
RequireJS よりもモジュールの読み込みが高速ですが、IE6-8 または開発 (非ビルド) 環境では意味のあるだけです。
AMD 以外の形式のプラグ可能なモジュール ローダーをサポートします (たとえば、ラップされていない CJSM/1.1 および CJSM/2.0 に取り組んでいます)。
wire.js などの IOC コンテナー (cram.js 経由) を介した構成ベースの依存関係管理をサポートします。
css のインライン化 (cram.js 経由) と css の連結 (年末までに cram.js 0.3 経由) をサポート
https://github.com/cujojs/curl/issues/35#issuecomment-2954344