最適化ツールはどのように使用しますか?§ 1

基本的な設定については、一般的な最適化のページを参照してください。 また、jQuery を使用していない場合でも、プロジェクトを設定する良い方法については、jQuery のドキュメントページを参照してください。

RequireJSに依存しないライブラリを他の人に提供するにはどうすればよいですか?§ 2

RequireJS または AMD ローダーを使用しない可能性のある Web ページで使用するライブラリを構築する場合は、オプティマイザーを使用してすべてのモジュールを 1 つのファイルに結合し、それらを関数でラップして AMD API シムを使用できます。これにより、すべての RequireJS を同梱せずにコードを出荷でき、AMD ローダーなしのプレーンな Web ページで動作するあらゆる種類の API をエクスポートできます。

almond は非常に小さい AMD API シムであるため、RequireJS オプティマイザーを使用してすべてのモジュールが 1 つのファイルに構築されている場合、require.js の代わりに使用できます。wrap ビルド構成オプションは、コードを関数ラッパーで囲むか、追加のロジックを実行する必要がある場合は独自のラッパーを提供できます。

API シムと wrap を使用したビルド方法の詳細については、almond プロジェクトを参照してください。

ビルド後にコードを動的にロードする必要がある場合、almond はコードを動的にロードできないため、almond + wrap の使用は十分ではありません。代わりに、require/define の使用に名前空間を設定することをお勧めします。次のセクションを参照してください。

他の人のページでうまく機能するように、コードに名前空間を設定するにはどうすればよいですか?§ 3

AMD ローダーを使用しない可能性のある Web サイトにコードを提供し、コードを動的にロードする必要がある場合は、ラッパー付きの単一ファイルビルドだけでは不十分です。また、ページの AMD ローダーからロードのニーズを分離することもできます。

名前空間ビルドオプションがあり、次の処理を行います。

  • requirejs、require、および define の使用箇所を "namespace." が前に付くように名前を変更します。
  • ファイルが typeof define === 'function' && define.amd の形式で define の存在チェックを行う場合、define の参照に "namespace." をプレフィックスとして付加します。
  • require.js がビルドされたファイルに含まれている場合、API の "namespace." バージョンを公開するようにします。

ソース コードは namespace.require() / namespace.define() の呼び出しでコーディングしないでください。代わりに、通常どおり require() / define() を使用し、オプティマイザーを使用して名前の変更を行います。