2007年6月19日
JavaScriptを圧縮・難読化する時の注意点
こんにちは、アシアルの中川です。
JavaScriptの圧縮や難読化をしなければいけないような状況に遭遇する場面があると思います。
圧縮や、難読化のツールはググれば結構簡単に見つかりますが、
いざ、圧縮や難読化をしてみると、エラーの嵐でまともに動かなくなるなんてことがよくあるのではないでしょうか。圧縮ツール使えねーなんて思う前に、そういった場合には、以下の点をチェックしてみて下さい。
※ツールによってはどうやってもエラーが出るものもありました。そんなときはあきらめて別のツールを試してみるほうがいいかもしれません。
1.各行の最後に「;」セミコロンをつける。
まず、これを一番に調べます。
よく、JavaScriptの入門等には、『命令行の行末の「;」は省略しても実行時に自動的に補完されるので問題ありません』なんてのを見かけますが、圧縮や難読化をすると、基本的に改行をガンガン削ってくれますので、行末に「;」を書いていないと、エラーが出まくるはめになります。
2.prototype定義の最後にも「;」を
命令の行末に「;」は基本的なものですが、たとえば、以下のようなprototype定義にも「;」が必要になる場合があります。
var