2006-11-20T14:20:42+09:00 追記
「何者か」に攻撃を受けて、このページの内容が差し変わっていました。あわててバックアップファイルから復旧しました(「何者か」 = 酒……)。
prototype.jsを10KBにする方法の続き(.htaccessをスマートに使う) : 亜細亜ノ蛾 に続きを書きました。合わせてどうぞ。
JavaScript ファイルを圧縮する
正真正銘、Prototype(“prototype-1.4.0.js”)を10キロバイト(10,453 bytes)に圧縮して、しかも(当たり前ながら)動作するようにする方法です。
──と聞いて真っ先に思い浮かぶのが「各種JavaScriptファイル圧縮サービス」、という人も多いでしょう。
しかし、自分が試してみたところ、例えば/packer/で圧縮したJavaScriptファイルは上手く動作しませんでした(他は調べてない)。どうも元のファイルで行末に ; が欠けているのが原因らしいです。(ref: #4729 ([PATCH] Make Prototype js-packer compatible) – Ruby on Rails – Trac)
また、仮に元ファイルを修正してから圧縮しても、せいぜい20KB超というところ(それで十分という人も多いと思うが)。
今回紹介するのは、もっとシンプルで効果的な方法です。
2006-11-22T11:43:56+09:00 追記
どうも「mod_gzip ではダメなのか」という意見が多数見られますが、今回の趣旨は「こういう選択もあるよ」という提案なので、それを言われると、ンガググ。転送時に圧縮する方法もあれば、元から圧縮しておく方法もある──選択肢が増えることによって、ちょっと得するひともいるのでは、と思って書きました。
転送時圧縮についてはCSSファイルを圧縮する方法 : 亜細亜ノ蛾で PHP を利用する方法を紹介してあります。
あと、展開後のスクリプトの動作を改善するわけでは無いです。それは、今回の趣旨からは外れているので悪しからず……。

![sshot-2006-11-07-[23-04-22]](https://static.flickr.com/106/291486204_07b59ffafd.jpg)
