JavaScript ミニファイアー
Terser で JavaScript を圧縮:空白とコメントを取り除き、ローカル変数名を短くし、安全な圧縮を適用します。処理はブラウザ内で完結します。
すべてブラウザ内で実行されます。データがアップロードされることはありません。
関連ツール
すべて表示JavaScript ミニファイアーとは?
JavaScript ミニファイアーは、webpack や Vite が使うミニファイアーの Terser で、最新の JavaScript(ES2015+)を圧縮します。空白とコメントを削除し、ローカル変数を短い名前に変え、式を簡略化します。
JavaScript ミニファイアーの使い方
- JavaScript を入力欄に貼り付けます。
- 圧縮 をクリックします(入力中も出力は更新されます)。
- 出力の下にあるサイズの行を確認します。
- 圧縮されたコードをコピーまたはダウンロードします。
例
function add(first, second) {
return first + second;
}
console.log(add(1, 2)); function add(d,n){return d+n}console.log(add(1,2)); JavaScript ミニファイアーを使うべき場面
小さなスクリプト、ブックマークレット、インラインの <script> ブロック、手早いサイズの確認に使います。アプリケーションでは、バンドラーにソースマップ付きで圧縮させてください。TypeScript や JSX のトランスパイルは行わないので、先に型を取り除いてください。
JavaScript ミニファイアーの仕組み
コードは、compress と mangle を有効にし、すべてのコメントを削除した terser.minify で圧縮されます。Terser は AST に解析し、定数をインライン化し、ローカルスコープ内のデッドコードや未使用の変数を削除し、関数内のローカルな識別子の名前を変更します。トップレベルの名前はマングルされないため、グローバル関数は名前を保ちます。構文エラーは行と列付きで報告されます。
一般的な使用例
- 静的サイト用の単独スクリプトを圧縮する
- コンパクトなブックマークレットを作る
- ライブラリの関数がどれだけ小さくなるか確認する
- コードを埋め込む前にコメントを削除する
セキュリティ注意事項
すべてブラウザ内でローカルに処理され、貼り付けたコードがアップロードされることはありません。
よくある質問
トップレベルの変数名が短くならないのはなぜですか?
トップレベルの名前は他のスクリプトから使われる可能性があるため、Terser は既定でそれらを保持します。
TypeScript や JSX に対応していますか?
いいえ、入力は通常の JavaScript である必要があります。
ソースマップは生成されますか?
いいえ。ソースマップが必要な場合は、ビルドツールを使ってください。