ブログのページロード高速化のために全く圧縮せずにそのままアップロードしていたJavaScriptファイルをとりあえず余計なスペースとかだけでも削除しようと思い、Windows コマンドライン版の JSMin を使ったメモです。
JSMinのgithub
https://github.com/douglascrockford/JSMin
zipをダウンロードして解凍してみると .c ファイルと jsmin.exe が入ってるだけというシンプルな構成でとてもお手軽そうで好感が持てました。
readme には以下のような使い方が書いてありました。
jsmin.exe < Input.js > Output.js
注意しないといけないのはこの < と > は省略可能という意味ではなくて、リダイレクトであること。最初省略可能という意味かと思い、動かなくてはまりました。
このままだと使いづらかったので .js ファイルをドラッグ&ドロップしたらそれらのファイルを圧縮してくれるバッチファイル jsmin.bat を書いたので貼っておきます。
@echo off
for %%f in (%*) do (
%~dp0jsmin.exe < %%f > %%~dpf%%~nf.tmp.js
if %ERRORLEVEL% neq 0 goto error
del %%f
move %%~dpf%%~nf.tmp.js %%f
)
exit /b 0
:error
echo failed to compress
また、.bat と同じフォルダにある .js ファイルをすべて圧縮するバッチも書いたので貼っておきます。
@echo off
rem JSMINには上記のjsmin.batのパスを指定してください
set JSMIN=jsmin.bat
for %%f in (%~dp0*.js) do (
echo commpressing %%~nxf
%JSMIN% %%f
)
pause