開発者ツール / 17
JavaScriptミニファイア
識別子の名前を変更せず、コメント、インデント、空行を安全に削除します。
JavaScriptミニファイア: TOEAは文字列、テンプレートリテラル、正規表現リテラルをスキャンし、それらの外側にある行コメントとブロックコメントを削除します。テンプレートリテラルの外側にあるインデントを整え、より安全に自動セミコロン挿入が行われるよう、行の境界を保持します。 サーバーへのファイルアップロードは一切なく、100%ブラウザ内でローカル実行します。
- カテゴリ
- 開発者ツール
- 実行回数
- ブラウザ内で
- コスト
- 無料 · 登録不要
- 提供状況
- すぐに使えます
完全にブラウザ内で実行します
変更されずにコピーされるもの
文字列、テンプレートリテラル、正規表現リテラルはそのままコピーされます。そのため、/https?:\/\//内の//はコメントとして扱われず、複数行のテンプレートリテラル内のインデントも文字列の一部として残ります。/は、演算子、開き括弧、カンマ、セミコロン、波括弧、またはreturnやtypeofなどのキーワードの後では正規表現の開始と判断され、名前、数値、閉じ括弧の後では除算を意味します。これは通常の規則であり、if (ok) /x/.test(s)のようなまれなコードでのみ誤って解釈されます。
自動セミコロン挿入が改行に依存するため、改行は残し、空行は削除します。let a = bと(c || d).run()を1行につなげると、bを関数として呼び出してしまいます。同じ理由で、複数行にわたるブロックコメントの後にも1つの改行が残ります。
ビルドツールを使う場合
このページで削除するのはコメントとインデントだけです。Terserやesbuildなどのビルド時ミニファイアは、ローカル変数名の短縮、到達不能コードの削除、ソースマップの作成も行い、通常はより小さなファイルを生成します。アプリケーションのバンドルにはそれらを使い、スニペット、埋め込みコード、ページに貼り付けるスクリプトにはこのツールを使ってください。差分チェッカーで入力と出力を比較すれば、どの行が変わったかを正確に確認できます。
使い方
- JavaScriptを貼り付けます。
- 「JavaScriptをミニファイ化」を選択します。
- 出力をテスト、コピー、またはダウンロードします。
プライバシーと制限事項
ソースはローカルに保持されます。この意図的に保守的なミニファイアは難読化ツールではありません。リリース前に生成されたコードをテストしてください。
関連ツール
よくある質問
なぜ名前を短くしないのですか?
スニペットや統合環境で予期しない問題が起きるのを減らすため、識別子のマングリングは意図的に行っていません。
なぜ一部の改行が残るのですか?
行の境界を保持することで、JavaScriptの自動セミコロン挿入の動作が変わるのを防ぎます。
無料ツール · ブラウザ内で · アカウント不要