完全無料

JavaScript を ミニファイ

ブラウザで瞬時にJavaScriptコードをミニファイ・圧縮。コメント削除、空白の圧縮、ファイルサイズ削減。無料でプライベート。

JSファイルをここにドラッグ&ドロップ

.jsファイルに対応。または上でJavaScriptをペーストしてください。

または

このツールについて

JavaScript の縮小化は、不要な文字を削除し、(適切な縮小化子を使用して) ローカル変数の名前を短い名前に変更することにより、ソース コードのサイズを削減します。最初のカテゴリである空白とコメントの削除は簡単でリスクがありません。 2 番目の変数の名前変更では、スコープ ルールを理解する必要があり、Terser や esbuild などの実稼働ミニファイアーが最も得意とするものです。

このツールは安全な縮小化に重点を置いており、コメントの削除、空白の縮小、冗長なセミコロンの削除、明らかなパターンの短縮を行います。変数の名前変更は保守的です。明確なスコープ内のローカル変数のみが変更され、外部参照名はそのまま残されます。結果は機能的にはソースと同じです。

実稼働グレードの縮小では、専用ツール (Terser、esbuild、swc) が完全な ECMAScript スコープ モデルを理解し、大幅に小さい出力を生成します。このツールは、完全なビルド セットアップが利用できない場合にブラウザ側で迅速に縮小するためのものです。

JavaScript を縮小する理由

通常、JavaScript バンドルは、最新の Web ページ上で最大の単一リソースです。縮小すると、縮小されていないソースと比較して、通常、サイズが 30 ~ 60% 削減されます。 gzip または Brotli と組み合わせると、削減量は多少縮小しますが、特に低速接続のユーザーにとっては、それでもなお測定可能なバイト数が節約されます。

JavaScript の高速化は、インタラクティブ化までの時間の短縮も意味します。スクリプトが小さいほど、ダウンロードが速くなり、解析が速くなり、実行も速くなります。 TTI が直帰率や SEO ランキングに影響を与えるサイトの場合、縮小化は最も低コストで効果を発揮する方法の 1 つです。

使い方

JavaScript を貼り付けて、小さいバージョンを取得します。

  1. JavaScript 入力を追加する: ソースを入力領域に貼り付けるか、.js ファイルをドロップします。ミニファイアは、アロー関数、テンプレート リテラル、クラス、モジュールを含む最新の JavaScript (ES2015+) を受け入れます。
  2. オプションを選択してください: デフォルトではコメントが削除され、空白が折りたたまれます。ローカル変数の名前変更は保守的です。最大限の圧縮が必要な場合は、より積極的な名前変更を有効にします。
  3. 縮小する: ミニファイアはソースを解析し、空白とコメントを削除し、コンパクトな出力を生成します。ソース内の構文エラーは明確なエラー メッセージを生成します。
  4. 出力を使用する: 本番環境のスクリプト ソースを置き換えます。完全な最適化を行うには、ツリーシェイキングとデッドコードの削除を処理するバンドラーと組み合わせます。

一般的な使用例

技術的な詳細

ミニファイアは、ECMAScript 構文を尊重するパーサーを使用して JavaScript をトークン化します。 /*! でマークされたライセンス コメントを除き、コメント (単一行および複数行) が削除されます。接頭語。構文上必要な場所 (識別子の間、キーワードの後) を除いて、空白は折りたたまれます。

保守的な変数の名前変更により、単純なスコープ内のローカル変数が短縮されます。グローバル、エクスポート、およびインポートされた名前は名前変更されません。これにより、外部参照が壊れます。名前を大幅に変更するには、適切なモジュール認識分析を備えた Terser または esbuild を使用します。

エッジケース: 自動セミコロン挿入 (ASI) は、プログラムの動作の変更を避けるために、ミニファイアーが一部のコンテキストで改行を保持する必要があることを意味します。テンプレート リテラル、正規表現リテラル、および JSX (入力に含まれる場合) は、その内容が圧縮すると安全ではない可能性があるため、そのまま保持されます。

ベストプラクティス

よくある質問

縮小するとコードの動作が変わりますか?
いいえ。縮小すると空白とコメントが削除されますが、実行には影響しません。変数の短縮 (マングリング) はローカル変数の名前を変更しますが、動作は保持します。グローバル変数とエクスポートされた名前はそのまま保持されます。
開発または運用で縮小する必要がありますか?
本番環境では縮小されたコードのみを使用してください。開発中は、元の読み取り可能なコードを保持してください。ほとんどのビルド ツール (Webpack、Vite、esbuild) は、実稼働ビルド プロセスの一部として縮小化を自動的に処理します。
縮小化と難読化の違いは何ですか?
縮小すると、フォーマットされているコードを機能的に読み取れる状態に保ちながら、サイズが削減されます。難読化により、意図的にコードが理解しにくくなります (文字列エンコード、制御フローの平坦化)。このツールは、難読化ではなく、サイズの削減に重点を置いています。
サイズの縮小はどれくらい期待できますか?
通常、gzip 前は 30 ~ 60% です。長い変数名を含む十分にコメントされたコードでは、最大の削減が見られます。 gzip 圧縮と組み合わせると、JavaScript ファイルは通常、元のソースより 80 ~ 90% 小さくなります。
私のコードはサーバーにアップロードされていますか?
いいえ。ミニファイアーはブラウザーで実行されます。
JavaScript はどれくらい小さくなりますか?
通常は 30 ~ 60% 削減されます。長い識別子を含む変数の多いコードはさらに圧縮されます。式が多いコードは圧縮率が低くなります。
手動で縮小したほうがいいでしょうか?
一度もない。ソース内で読みやすい JavaScript を維持します。ビルドステップまたはデプロイメントの一部として、縮小化を実行します。
TypeScriptでも動作しますか?
TypeScript は、最初に tsc または esbuild を使用して JavaScript にコンパイルする必要があります。コンパイルが完了すると、結果の JavaScript を縮小できます。