JavaScript
google

GoogleのClosure Compiler Serviceの圧縮をコマンドラインから実行する

Googleの提供するJavaScriptの圧縮サービスClosure Compiler Serviceはコマンドラインから実行することができるようにjarファイルが提供されている。Getting Started with the Closure Compiler Applicationよりcompiler.jarをダウンロードし、適当なディレクトリにjarファイルを配置し下記のように実行する。

java -jar ./closure-compiler-v20180101.jar --compilation_level SIMPLE --js ./src/hoge.js --js_output_file ./build/hoge.js

各オプションなどの詳細はヘルプから確認可能

java -jar ./closure-compiler-v20180101.jar --help

追記: 圧縮後$jscompというコードが大量に含まれる場合の対応

ブラウザ上での実行は問題ないがコンソールから実行すると圧縮したコードに$jscomp=$jscompというコードが大量に含まれてしまうscriptが一部ありました。原因を調査したところPolyfillsのES6書き直しを停止することで解決しました。

実際の方法としては下記のように実行している場合

java -jar ./closure-compiler-v20180204.jar \
  --compilation_level SIMPLE \
  --js src.js \
  --js_output_file out.js

オプションで下記のように停止することができます。

java -jar ./closure-compiler-v20180204.jar \
  --compilation_level SIMPLE \
  --rewrite_polyfills false \
  --js src.js \
  --js_output_file out.js