開発者ツール / 17

JavaScriptミニファイア

識別子の名前を変更せず、コメント、インデント、空行を安全に削除します。

JavaScriptミニファイア: TOEAは文字列、テンプレートリテラル、正規表現リテラルをスキャンし、それらの外側にある行コメントとブロックコメントを削除します。テンプレートリテラルの外側にあるインデントを整え、より安全に自動セミコロン挿入が行われるよう、行の境界を保持します。 サーバーへのファイルアップロードは一切なく、100%ブラウザ内でローカル実行します。

カテゴリ
開発者ツール
実行回数
ブラウザ内で
コスト
無料 · 登録不要
提供状況
すぐに使えます
JavaScript圧縮ツールローカル処理

完全にブラウザ内で実行します

変更されずにコピーされるもの

文字列、テンプレートリテラル、正規表現リテラルはそのままコピーされます。そのため、/https?:\/\//内の//はコメントとして扱われず、複数行のテンプレートリテラル内のインデントも文字列の一部として残ります。/は、演算子、開き括弧、カンマ、セミコロン、波括弧、またはreturnやtypeofなどのキーワードの後では正規表現の開始と判断され、名前、数値、閉じ括弧の後では除算を意味します。これは通常の規則であり、if (ok) /x/.test(s)のようなまれなコードでのみ誤って解釈されます。

自動セミコロン挿入が改行に依存するため、改行は残し、空行は削除します。let a = bと(c || d).run()を1行につなげると、bを関数として呼び出してしまいます。同じ理由で、複数行にわたるブロックコメントの後にも1つの改行が残ります。

ビルドツールを使う場合

このページで削除するのはコメントとインデントだけです。Terserやesbuildなどのビルド時ミニファイアは、ローカル変数名の短縮、到達不能コードの削除、ソースマップの作成も行い、通常はより小さなファイルを生成します。アプリケーションのバンドルにはそれらを使い、スニペット、埋め込みコード、ページに貼り付けるスクリプトにはこのツールを使ってください。差分チェッカーで入力と出力を比較すれば、どの行が変わったかを正確に確認できます。

使い方

  1. JavaScriptを貼り付けます。
  2. 「JavaScriptをミニファイ化」を選択します。
  3. 出力をテスト、コピー、またはダウンロードします。

プライバシーと制限事項

ソースはローカルに保持されます。この意図的に保守的なミニファイアは難読化ツールではありません。リリース前に生成されたコードをテストしてください。

関連ツール

よくある質問

なぜ名前を短くしないのですか?

スニペットや統合環境で予期しない問題が起きるのを減らすため、識別子のマングリングは意図的に行っていません。

なぜ一部の改行が残るのですか?

行の境界を保持することで、JavaScriptの自動セミコロン挿入の動作が変わるのを防ぎます。

無料ツール · ブラウザ内で · アカウント不要