JavaScriptのminifyと整形 - ブラウザで動くTerser

JavaScriptのminifyと整形

ローカル名を短くするのが最も削れますが、名前を文字列として引くコードは壊れます。eval、new Function、引数名を読むフレームワークなど。心当たりがあれば切ってください。

JavaScriptのminify - よくある質問

Terserです。UglifyJSの後継で、webpack・Rollup・Viteの既定のminifyツール。あなたのビルド工程がすでに動かしているのと同じエンジンなので、ここの出力はビルド結果の近似ではなく、そのものです。

よく使われる整形ツール

新着
Markdown エディター Markdown を書きながら、描画結果を横に並べて確認。見出し、リスト、表、コードブロック、リンクに対応。HTML をコピーするか .md と .html ファイルをダウンロードできます。ブラウザー内で動作します。
本日の人気
YAMLフォーマッター 乱れた YAML のインデントを整え、エラーを行番号つきで見つけ、JSON として読み直せます。コメント・ブロックスカラー・アンカーはそのまま。ブラウザ内で動作します。

このツールでできること

JavaScriptのminifyは空白を削ることではありません。置換でやると、見た目は正しく挙動だけが違うファイルができ、その差は本番で表に出ます。このページは、多くのプロジェクトのビルド工程を支えているエンジンTerserを、あなたのブラウザの中で動かします。

使い方

  1. 1 JavaScriptを枠に貼り付けます。
  2. 2 対象を選び、名前を短くするかどうかを決めます。
  3. 3 minifyを押します。縮んだファイルを開き直すなら整形を。

なぜ置換ではなく解析なのか

JavaScriptは、あなたが省いたセミコロンを自分で補います。「return」と値の間の改行を消せば、その関数はundefinedを返すようになります。ファイルは依然として正しく、やることだけが変わるのです。同じ文字が、ある場所では除算、別の場所では正規表現です。これを見分けるには文法が要り、パターンでは足りません。だからこのページは本物の解析器を使います。

実際に小さくなるもの

空白とコメントはそのうちの最も小さな部分です。本当に効くのは、ローカル変数を1文字に付け替え、離れた宣言をひとつにまとめ、定数を畳み、決して動かないコードを捨てることです。どれも木の上の操作で、minifyする側は「2つの名前が同じ束縛を指し、その間で誰も読んでいない」と知っている必要があります。

名前の短縮が噛みつくところ

minifyする側が付け替えられるのは、見えているものだけです。文字列として書かれた名前は見えません。eval("count + 1")、new Function("a", "return a")、あるいは関数の引数名を読んで何を渡すか決めるフレームワーク。これらは古い名前を探し続け、何も見つけられません。これは言語の性質であってツールの欠陥ではありません。だからこのスイッチは黙って入れず、あなたに委ねてあります。

整形しても元のファイルは戻らない

整形は字下げと改行を戻すので、縮んだファイルはまた読めるようになります。しかし捨てられたものは戻りません。コメントは消えており、名前を短くしていればそのままです。「e」がかつて「errorMessage」だったとは、どのツールにも当てられません。本番のファイルをデバッグするなら、元に戻してくれるのはソースマップだけです。

関連する開発ツール

JSON 整形 ブラウザーだけで JSON を整形・圧縮・検証。エラーは行と列で示され、折りたたみ可能なツリーで構造も確認できます。
HTML整形 ごちゃついたHTMLを字下げして読めるようにも、削って軽くもできます。断片にも使え、あなたのマークアップを別物に書き換えることはありません。
CSS minify コメントと空白を削ってCSSを縮め、あるいは整った字下げで開き直します。calc()内の空白、文字列、ライセンス表記はそのまま。
XML整形 ごちゃついたXMLを字下げして読めるように、あるいは削って軽くします。RSS・CDATA・名前空間に対応し、文書を書き換えません。
SQL整形 長いクエリを読める行に割り、また1行へ詰め直します。キーワードの大小・引用符付きの名前・文字列はそのまま。

その他のおすすめツール

WordをPDFに変換 Wordを無料でPDFに変換。DOC・DOCX・ODT・RTFをアップロードすると、体裁を保ったPDFを数秒でダウンロードできます。
PDFをWordに変換 PDFを無料でWordに変換。PDFをアップロードすると、数秒で編集可能なDOCXをダウンロードできます。登録も透かしも不要。
ワードカウンター 無料の文字数カウント。テキストを貼るだけで単語・文字・文・段落を数え、読了時間の目安も表示。データは送信されません。
文字カウンター 無料の文字数カウント。スペースあり・なしの文字数、単語数、行数を数え、タイトルやメタディスクリプションの目安も確認できます。
キーワード密度チェッカー 無料のキーワード出現率チェッカー。テキストやURLを入力すると、各語句の出現回数と割合がわかります。