カテゴリー: 開発ツール

JavaScript 圧縮ツール(簡易版)

サイト側で企画したツールツールが見つからない?

小さなスクリプトからコメントと余分な空白を取り除く

小さな JavaScript のスニペットを貼り付けると、文字列や正規表現の中身には手を加えずに // と /* */ のコメントを取り除き、空白を詰めます。すべてブラウザ内で完結します。

これは空白とコメントを取り除くだけのツールであり、完全なパーサーや AST ベースの圧縮ツールではありません。セミコロン自動挿入の解析は行わないため、改行を取り除くことで自動セミコロン挿入に依存したコードの挙動がまれに変わることがあります。小さく単純なスニペット向けであり、本番用のバンドルには使用しないでください。

元のサイズ186圧縮後のサイズ104削減率44%
圧縮後の出力
function greet(name) {
var message ="Hello, "+ name +"!";
return message;
}
console.log(greet("world"));

このページの処理はすべてブラウザ内で行われます。アップロードは一切ありません。

このツールでできること

これは Terser のような完全なパーサーや AST ベースのツールではなく、軽量な圧縮ツールです。文字列、テンプレートリテラル、正規表現を十分に追跡してその中身を変更しないようにしたうえで、コメントを取り除き、その周囲の空白を詰めます。セミコロン自動挿入の解析は行わないため、本番用のバンドルや、特殊な自動セミコロン挿入の挙動に依存するコードではなく、小さく単純なスニペット向けに作られています。

使い方

  1. 入力欄に JavaScript のスニペットを貼り付けるか入力します。
  2. 圧縮後の出力と、その下にあるサイズ比較を確認します。
  3. 結果をコピーし、公開する前に必ず圧縮後の出力をテストしてください。

プライバシー

このツールはすべてブラウザ内で動作します。入力した内容がアップロード・保存・共有されることはなく、タブを閉じれば消えます。

よくある質問

コードはどこかにアップロードされますか?
いいえ。圧縮処理はブラウザタブ内の JavaScript で実行され、サーバーには何も送信されません。
コードが壊れることはありますか?
文字列、テンプレートリテラル、正規表現の中の空白には手を加えないよう、保守的に設計されています。ただしプログラムのロジックを理解しているわけではないため、特に改行による自動セミコロン挿入に依存するコードでは、圧縮後の出力を必ずテストしてください。
本物のバンドラーの圧縮機能の代わりに使ってよいですか?
いいえ。本番用のコードには Terser や esbuild のような、きちんとした AST ベースの圧縮ツールを使ってください。このツールは、ビルドツールを導入するほどでもない、小さくすばやい用途向けです。