4

コンパイルされていなくても正しく動作する複雑な dojo アプリを持っていますが、Google のClosure Compilerでコンパイルした後、いくつかの動作に微妙な違いがあります。

そのままではデバッグが非常に難しく、Google Closure を使用したコンパイル済みと未コンパイルの Javascript の機能上の違いに関する情報を見つけることができませんでした。

誰かが私に既知の違いの方向性を教えてくれますか、または同様の経験やどこから始めるべきかについてのアイデアを共有できますか?

4

3 に答える 3

1

チャドの答えの助けを借りて、作業コードが次のようなバグを見つけました:

a = [b, b = a][0]; // swap variable values

次のようにコンパイルされました。

a = b;

オンラインの Closure コンパイラ アプリを使用したテストでは同じバグが示されないため、今後のバージョンで修正される可能性があります。賢くしようとせず、値を交換する際に古い値を保持するために 3 番目の変数を使用することで修正しました。

于 2013-01-03T23:55:05.563 に答える
0

私が dojo 1.3 (閉鎖前) で見たいくつかの問題:

  • class という名前のクラス プロパティがある場合は、引用符で囲む必要があります。したがって、{class: "css"} は {"class": "css"} のように記述する必要があり、これには任意のウィジェット フィールドが含まれます。
  • すべてのデバッガー ステートメントを必ず削除してください。
于 2013-01-03T22:00:28.280 に答える