• ベストアンサー

コメント削除/圧縮/難読化

外部jsファイルについて、いくつか教えてください。 1.コメント削除 2.圧縮 3.難読化 1.コメントを自動で削除してくれるツールとかってあるのでしょうか? 2.圧縮ってどうやるのでしょうか?  速度が速くなる、と聞いたことがあるのですが、何か圧縮することで問題になることとかありますか? 3.難読化ってどうやってやるのでしょうか?    また、難読化することのデメリット等あれば教えてください(SEO的にやめた方がいいなど…)。 上記の内、どれか一つについてでもご回答いただければ、嬉しいです。 その他、何かアドバイス等あれば、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • stuff_ppo
  • ベストアンサー率62% (27/43)
回答No.2

コメント削除および圧縮ツールとしては、Google Closure Compiler が有名です。 オンラインでも利用できます。 http://closure-compiler.appspot.com/home 説明(英語) http://code.google.com/intl/ja-JP/closure/compiler/docs/gettingstarted_ui.html これを使う事で、例えば var theValueOfSomeMainContents が var a に置き換えられますので、 ブラウザがコードを読み込む(=実行する)スピードが早くなります。 ユーザーにとってはとても望ましい事です。 一方のデメリットは、人間がコードが読みづらくなる事です。 改行がなくなり、コメントが消え、 変数は意味不明の短い単語(場合によっては1文字)になりますので、 メンテナンスには向きません。 あくまで、本番環境にリリースする用です。 この意味で、圧縮=難読化 ですね。 SEOについてですが、 サーチエンジンは普通html内の文字列を「コンテンツ」としてサーチしますので、 問題ないでしょう。 (というかサーチエンジン本家のGoogleのjsコードが、どえらく圧縮されていますし)

re999
質問者

お礼

有益な情報ありがとうございました。 実際に試してみたところ、すごく使いやすく感じました。

その他の回答 (2)

回答No.3

1.圧縮サービスにはコメント除去がついていることが多いです。 "javascript 圧縮 オンライン"とかで調べるとまとめて紹介している記事がたくさん出てきますよ。 2.javascriptの圧縮は大きく分けると2通りあります。スクリプトのムダな記述を削減して新しいコードを再構築する圧縮。gzipのように元のデータを保持したままアルゴリズムで圧縮するタイプ。オンラインサービスの多くは前者です。それぞれファイルを読み込む速度は向上しますが、実行速度は体感上変わりありません。 3.難読化はスクリプトを人間の目では理解できないほど複雑にする行為です。これに関してもオンラインサービスを利用すればいいのではないでしょうか。ですが難読化ってやる意味ありますか?スクリプトって別にコピーされてもあまり困りませんし、ハッキングできる人は単純な難読化はあっさり可読化できますよ。まさか重要なパスワードをjavascript内に書いたりすることもありませんし・・・ SEOにjavascriptは私も元々影響がないと思います。

re999
質問者

お礼

>javascriptの圧縮は大きく分けると2通りあります。 ありがとうございます。こういう風に説明していただくと、 頭の中が整理できるので、大変ありがたいです。 >難読化ってやる意味ありますか? どうしてもやりたいと思っていたわけではないのですが、 興味があったので、聞いてみました。 難読化されているスクリプトを見てみたいときとか、役立つかな、と思ってます…。

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

ちょっとぐぐってみただけですが、いいっぱいヒットしました。 ごく一部を以下に… <方法について>  http://www.nri-secure.co.jp/ncsirt/2009/0409.html <圧縮ソフト>  http://www.phppro.jp/phptips/archives/vol32/1  http://ecs.amonya.com/javascript/javascript.html ウェブ上でもこんなのあります  http://dean.edwards.name/packer/ と、思っていたら(↓)にまとめて紹介されていた。  http://coliss.com/articles/build-websites/operation/javascript/334.html ご自分でも検索してみてください。

re999
質問者

お礼

質問した際には、ツールのことしか念頭になかったのですが、 教えていただいた、<方法について>のサイト等は、大変興味深かったです。 ありがとうございました。

関連するQ&A