モジュールについて正しい考えがあります。モジュールには、(開発側で)使用するJavaソースパス、コンパイルを開始するエントリポイント、およびコンパイル時に使用するさまざまなプロパティ(ブラウザ、ロケール)が記述されています。コンパイル後、モジュールは出力も表します。JavaScriptと、ログ、画像、スタイルシートなど、関連するその他のコンパイル済みファイルです。
対照的に、ClientBundleは、コンパイル後にJavaソースパス内の特定のリソースが使用されることを開発者がコンパイラーに通知する方法の1つです。CssResourceには、cssスタイル名が使用されていることを確認する追加のチェックが付属しています(使用されていない場合は、コンパイルされた出力を最小化するために削除する必要があります)。ImageResourceは、コンパイル時にファイルが存在することを確認し、両方ともブラウザーごとに最適な方法でこれらのファイルを出力します。ほとんどのブラウザの画像は、サーバーへの呼び出し回数を最小限に抑えるために、実際には大規模なJSファイルに含まれています。これをサポートしていないブラウザの場合、画像は自動的にスプライトされます。
ClientBundleインターフェースを宣言し、を呼び出すことによりGWT.create(MyClientBundle.class)
、これらの参照ファイルとクラスをアプリで使用可能にするというClientBundleの詳細を処理するようコンパイラーに要求します。それがGWTジェネレーターとどのように関係しているのか、SOの回答で対処できるよりもはるかに高度なトピックです...
はい、ClientBundlesは実行中のアプリに必要な静的リソースを記述します。はい、コンパイルされたモジュールはさまざまな静的リソースで構成されますが、このように言い換えると、ClientBundleは静的コンテンツを含めることができる方法の1つです。 GWTモジュールで、可能な限り効率的にロードできるようにします。