この質問に出くわした人を助けると思っただけです。
プロジェクトの JS を縮小するためにGoogle のClosure Comilerを使い始めたところ、いくつかの便利な警告が表示されました。
$> java -jar google_closure_compiler.jar --language_in=ECMASCRIPT5_STRICT --js_output_file 'min.js' 'file1.js' 'file2.js'
file1.js:152: WARNING - unreachable code
getSomething(function() { return this.doThingo(''); });
^
file2.js:203: WARNING - Suspicious code. The result of the 'add' operator is not being used.
' to ' + (typeof obj);
^
0 error(s), 2 warning(s)
問題のあるコードブロックは次のとおりです(コメントは、コンパイラが警告したコードに何が欠けているかを説明しています):
file1.js:150
return generateSomeObject(bunch, of, arguments)
//the period before the function call was missing
getSomething(function() { return this.doThingo(''); });
}
file2.js:201
if (someCondition)
//trailing plus was missing from this line
throw 'Could not set ' + last + ' of ' + (typeof root)
' to ' + (typeof obj);
return old;
ブラウザが片付けたすべての間違いを認識できるかどうかはわかりませんが(したがって、おそらくこれを回答としてマークしません)、YUI のミニファイヤが私のために行っていたよりもはるかに多くのことを行います (これらすべてを無視していました)。ケース)。
また、YUI と比較して、コンパイラは複数のファイル入力を受け取ることができるため、エラーのファイルごとに行番号を表示でき、debugger
キーワードのエラー/再解釈は発生しません)。
うまくいけば、それもあなたを助けるでしょう。