JavaScript 壓縮
在瀏覽器 Worker 中以 Terser 壓縮最多 256 KiB 的 JavaScript,不執行程式碼,僅支援 ES2020,不產生 source map。
開啟工具 — JavaScript 壓縮JavaScript 壓縮 vs JavaScript 格式化
直接結論: JavaScript 格式化器讓程式碼可讀——用真正的解析器以 2 或 4 空格重排被壓縮或雜亂的原始碼,絕不執行。JavaScript 壓縮器讓程式碼變小——在本地 Worker 中執行 Terser,剝離空白並為交付縮短語法。一個為閱讀,一個為體積。
| JavaScript 壓縮 | JavaScript 格式化 | |
|---|---|---|
| 用途 | 在瀏覽器 Worker 中以 Terser 壓縮最多 256 KiB 的 JavaScript,不執行程式碼,僅支援 ES2020,不產生 source map。 | 解析並重新縮排 JavaScript 而不執行它,可選 2 或 4 空格縮排,適合先讀懂不可信程式碼,全程在本機 Worker 完成。 |
| 輸入 | ES2020 以內的 JavaScript——不支援 TypeScript 或 JSX——上限 256 KiB | 256 KiB 以內的 JavaScript 原始碼,只解析、絕不執行 |
| 輸出 | 壓縮後的腳本,附轉換前後位元組統計 | 以 2 或 4 空格重排的原始碼,語法錯誤按位置報告 |
| 典型場景 | 交付:為生產環境縮小腳本或打包片段 | 閱讀:展開壓縮程式碼以便審查或除錯 |
關鍵差異
格式化器為人美化排版;壓縮器為生產交付縮小同一份語言。
兩者都接受 256 KiB 以內的純 JavaScript;壓縮器還會拒絕 TypeScript 和 JSX,因為 Terser 只接受 ES2020。
壓縮器報告縮短後輸出節省的位元組;格式化器報告同一代碼的重排結果,並精確指出解析錯誤的行列位置。
審查或除錯原始碼用格式化器;生產載荷用壓縮器。
在瀏覽器 Worker 中以 Terser 壓縮最多 256 KiB 的 JavaScript,不執行程式碼,僅支援 ES2020,不產生 source map。
開啟工具 — JavaScript 壓縮解析並重新縮排 JavaScript 而不執行它,可選 2 或 4 空格縮排,適合先讀懂不可信程式碼,全程在本機 Worker 完成。
開啟工具 — JavaScript 格式化相關比較