javscript {Obfuscator | compressor | optimizer}

Date
2006-02-20 (Mon)
Category
Tech

ある project で bookmarklet をやっているのだけれども、Prototype.js と Script.aculo.us がどうしても使いたい。でも個別にロードすると、(script.aculo.us は prototype に依存しているので)ロードタイミングでうまく動かなかったりして、結局 library ファイルだけ一個にして、main の logic だけを別に、という形でいこうと思ってる。

しかし(ちょっと前にあった議論だけれども)script.aculo.us の Effects と Dragdrop だけ(勿論 prototype も入れて)でなんと 100k を超えている!!う〜ん。どうしよう。と思って思い付いたのが、Obfuscator(難読化)ツール。結構ありそうなのに探してみると、多くは有償だったりして、すごい驚きました。と言うわけで無償で使えそうなのをいくつか。

Creativyst CSS & JavaScript Compressor (v2.2c)

オンラインツール。一番僕のニーズには合ってる感じ。コメントと余計な空白/改行などを取り除く。関数・変数名の変更は無しで、全ての改行を取り除くわけでなさそう。試したらちゃんと動きました。ちなみに約 20% のスリム化。

Javascript compressor
オンラインツール。これは文字通り Obfuscator なので、関数・変数名 が変更されてしまう。なのでどういう関数なのかは全くわからなくなるし、改行も全て無くなる。。でもおかげで、圧縮率はちょっと高めで、約 35% スリム化に成功。ただ出てきたもので試してないので動くかどうかはわかりませぬ(無責任)。。

jsjam - Compress JavaScript code
ローカルで実行する Perl script。僕の環境(Mac OS X 10.3.9, Perl 5.8.1rc3)では Segmentation Fault で動きませんでした。~/Library/Logs/CrashReporter/perl.crash.log によるとどうやら正規表現周りで落ちてるっぽいけどそんなの追っかけられないのでパスしました。

自分で新しいの書くかな。。考え中。でも昨日 JSAN でだいぶコード見たけど、compressor 通ってる感じだったんだよねぇ。。みんな何使ってんだろ?

Comment:1

tksh:2006-02-20 (Mon) 21:13

Creativyst Compressor を何回か使かってみて、大したことやって無いと思ったので、やっぱり自分で書こうかどうか迷い中。。

Comment Form

Remember Me?


Trackback:0

TrackBack URL for this entry
http://blogs.grf-design.com/mt/mt-tb.cgi/142
Listed below are links to weblogs that reference
javscript {Obfuscator | compressor | optimizer} from The Croton

Return to Page Top