GWT は JavaScript コードを自動生成します。
生成されたコードのイベント メカニズムを理解できませんでした。たとえば、ボタンをクリックしたときに実行される関数はどれですか?
ボタン用に GWT が生成する JavaScript と説明を見てみたい
GWT は JavaScript コードを自動生成します。
生成されたコードのイベント メカニズムを理解できませんでした。たとえば、ボタンをクリックしたときに実行される関数はどれですか?
ボタン用に GWT が生成する JavaScript と説明を見てみたい
イベント処理の場合、GWTは要素EventListener
のexpandoプロパティ(と呼ばれる__listener
)として(通常はウィジェット)をアタッチします。その後、イベントはすべて、イベントのターゲットのエキスパンドを調べてイベントをディスパッチする単一のディスパッチメソッドによって処理されます。__listener
もちろん、ディスパッチ方法はもう少し多くのことを行います(イベントのプレビュー、エントリ/最終的にスケジュールされたコマンドなど)
このダンスは、ブラウザ(主にIE)でのメモリリークを回避するために必要です(または少なくとも必要でした)。詳細については、GWT wikiを参照してください:https ://code.google.com/p/google-web-toolkit/wiki/DomEventsAndMemoryLeaks
GWTで開発する場合、JavaScriptについては気にしません。
Javaコードを調べて、ボタンのクリックイベントを処理する関数を検索する必要があります。
コードをコンパイルすると、自動化Compiler
された関数が生成されJavascript
ます...そしてそれも圧縮されます(コンパイルの種類によって異なります)。
対応する関数とウィジェット ID を見つけるのは非常に困難です。それらは..したがって、コードgenerated
をcompiler
デバッグする方が良いのgwt
は、ホストされたモードです..
コンパイル中に生成されたコードを読みたい場合でも、コンパイルの種類を指定します
DETAILED
PRETTY
、さらに詳細に改善されます (非常に冗長な変数名など)。
詳細については、こちらをご覧ください。
STYLE
GWT の出力 js を理解する必要があるときはいつでも、GWT コンパイラ オプションを使用する必要があります。GWT はデフォルトでOBFを STYLE のデフォルト値として使用するため、javascript 出力を圧縮して難読化します。
圧縮と難読化を防ぐために、STYLE 引数のパラメーターとしてPRETTYまたはDetailedを使用できます。
注:難読化とともに最小の帯域幅使用を保証するため、本番環境では常に OBF モードを使用する必要があります。