• ベストアンサー

【JavaScript】ソースのコメントを一発削除する方法は?

仕事でWeb制作をしています。 JavaScriptはWeb上で見られますので、作業中に書込んだコメントは削除してからアップしたいのですがそういうツールなどはあるのでしょうか。 私が探した結果は、 ・現在使用中のDreamWeaverCS3には機能がなさそう ・フリーソフト"ソース整形[コメント削除]"はインストールしたが動かず。 http://www.vector.co.jp/soft/cmt/winnt/prog/se477260.html 環境: Win-XP SP3 条件: html中のJavaScriptではなく外部の.jsファイルのみで結構です。 よろしくお願いいたします。

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

  • ベストアンサー
回答No.4

更新版 http://u.ebeta.jp/delcomment2 完璧なパースはやってないけど、よっぽど変な書き方してない限りは大丈夫なはず。中で行っている処理はこんな感じ。気になるところがあったら改造して使ってちょ //改行をエスケープ //円マークをエスケープ //コーテーションをエスケープ //スラッシュをエスケープ //;で改行すさせる //(下と同時)ライン毎にダブルコーテーションの中身を保管 //(上と同時)ライン毎にシングルコーテーションの中身を保管 //改行を全て削除 //エスケープしてた改行を戻す //ライン毎インラインコメントの削除処理 //ブロックコメントの削除処理 //改行を再度エスケープ //コーテーションの中身を元に戻す。 //エスケープしていたコーテーションを書き戻す //エスケープしていた円マークを元に戻す //エスケープしていたスラッシュを元に戻す //改行を戻す

その他の回答 (8)

  • OKbokuzyo
  • ベストアンサー率43% (130/296)
回答No.9

YUIってご存知ですか? yahooの出しているjavascriptのライブラリですが そのYUIの公式サイトにはyuicompressorというjavascript(あるいはcss)を 圧縮するためのjavaアプリケーションが提供されています。 http://developer.yahoo.com/yui/compressor/ ※ダウンロードは画面中央付近の「Download the YUI Compressor」のリンク先 使い方はドキュメントを参照してください。 英語が苦手でもたくさんのところで紹介されていますのでそちらを参照してください。 参考:http://stacktrace.jp/tools/yuicompressor/ 有名なjavascriptのサイトではちょくちょくこのようなアプリの提供が見られます。 この他にもdojoでも同じようなアプリが提供されているようです。 ※私はyuicompressor以外は使ったことありませんが。 P.S.企業への納品ということなのでyuicompressorを使用するなら先方への了承は取っておいた方が良いと思います。   少なくともどこの誰か分からないこのサイトの回答者が提供したソフトを利用するというのは   普通ならNGを食らうと思うのですが。

ikataro
質問者

お礼

なるほど圧縮ツールですか。 http://yui.2clics.net/ ↑Web上でも処理可能のようですね。 しかし改行まで削除しなくてもいいんですが、そこらへん手加減は出来ないのでしょうかね… ありがとうございました。

回答No.8

あ、忘れてましたけど 42行目 dep = 11; は dep = 50; とか dep = 120; とか くらいに変えた方がいいです。

ikataro
質問者

お礼

おお! わざわざ作っていただいたんですか。 >> ダブルコーテーションの中身を保管 やっぱそうなりますよね… 頂いたプログラムを元にPHP版も作ってみようかな。 ありがとうございました。

回答No.7

うーん、よい出来かも??

回答No.6

更新版 http://u.ebeta.jp/commentdel03 正規表現で使う /~/ の中身もエスケープするようになったバージョンです。これでこの中にダブルコーテーションやシングルコーテーションがあってもちゃんとコメントだけを削除してくれるはず。 テストが不十分だけどこれで既知の問題は全てクリアしたのかな?

回答No.5

replaceとかで使う、正規表現の /~/ は エスケープしてないから・・・というか、完璧にパースしないとエスケープできなかったから、この中に'とか"とかが沢山あると変な動作する可能性があります。 " とか 'は演算子に使われることもないし簡単でいいんだけど・・・。気をつけてる点は"'"や'"'に対応してるところ。テストが不十分だから危ないかもしれないけどたぶん大丈夫かな??。。。未知数。 無茶なテストコード書いて試してみてください。 str.replace(/'asf"'3"fad'/img,""); とか str.rep lace( "") +str.replace(/'asf"'3"fad'/img,""); ; とか。 a= str.replace(/'asf"'3"fad'/img,"")+str.replace("///#/* +*/",""); とか。

回答No.3

あ、でも""の中に//とか/****/があったりすると それも消しちゃうわww 問題あったら自分で直してw

ikataro
質問者

お礼

はい、そうなんです。 PHPならできるんでさくっと処理しちゃおうと思ったのですが、 str = "aaa//\"bbb"; // コメント とかどうすんのよ?ってとこでつまずいてやめてしまいました。 そもそもDreamWeaverあたりにそんな機能あって当然な気がするんですがねえ…

回答No.2

javascriptのコメントは他のC系のコメントと一緒だから たぶん探せば沢山あると思うけど・・ ・・簡単なんだからプログラマーならそのくらい自作しようよ。 http://u.ebeta.jp/commentdel

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

コメントの除去ではなく、暗号化しては如何でしょう? http://www.microsoft.com/downloads/details.aspx?FamilyID=2976ee94-bec5-4314-84fd-8d7ec891c1c5&displaylang=ja コメントを抜いても解析は不可能にはなりません。これを使うと、 コードはグチャグチャになって判読も不可能です。

ikataro
質問者

お礼

ありがとうございます。 企業に納品するものなのでそうもいかないのです。 自分が書いたメモ書きをすっきりクリーンにしたいのです。