GruntでClosureCompileしてみようと思ったら公式サイトだけでもプラグインがいっぱいあったので
どれが使い勝手が良さそうか実際に使って検証してみた。
(一応公式サイトに載ってたのだけ。他は探してない。)
grunt-closure-tools
Good
- consoleに実際に実行したコンパイルコマンドが表示される
- compiler.jarの配置場所に制限なし
- 公式にはsrc/destで書いてあるけどfiles:{}でやれば複数src/destが書ける
Bad
console
Running "closureCompiler:main" (closureCompiler) task
Executing: java -jar ./build/compiler.jar --js js/CobitSDK.js --js js/CobitSDK/apiBase.js --js_output_file=build/closure-tools.min.js --compilation_level ADVANCED_OPTIMIZATIONS --externs ./externs.js --summary_detail_level 3
0 error(s), 0 warning(s)
Command complete for target: main
Done, without errors.
grunt-closure-compiler
Good
- consoleにコンパイル後のファイルサイズが表示される(と思ったけどgzipってどういうこと?)
Bad
- compiler.jarの配置場所に少し制限がある(**/*/build/以下に配置しなきゃだめぽい)
console
Running "closure-compiler:main" (closure-compiler) task
Compressed size: 0.75 kb gzipped (773 bytes).
Done, without errors.
grunt-closurecompiler
Good
- コンパイル後のファイルサイズ出る
- コンパイル前/後のファイル名がコンソールに表示される
- files:{}で複数src/destが指定できる
- このpluginをインストールするとcompiler.jarも一緒にインストールしてくれるので別途準備する必要がない(node_module/以下のちょっと深いところに配置されるけど、compiler.jarを意識しなくてもokなつくり)
Bad
console
Running "closurecompiler:minify" (closurecompiler) task
Compiling js/CobitSDK.js,js/CobitSDK/apiBase.js -> build/closurecompiler.min.js
>> 0 error(s), 0 warning(s)
>> Complete: 2002
Done, without errors.
Pluginファイルサイズ
drwxr-xr-x 10 toru.furuya INTRA\Domain Users 340B 7 19 16:07 grunt-closure-compiler
drwxr-xr-x 18 toru.furuya INTRA\Domain Users 612B 7 19 20:45 grunt-closure-tools
drwxr-xr-x 13 toru.furuya INTRA\Domain Users 442B 7 19 21:32 grunt-closurecompiler
結論、自分的には3番目のgrunt-closurecompilerが一番かなと。