開發者工具 / 17

JavaScript壓縮器

保守地移除註解、縮排與空白行,不重新命名識別字。

JavaScript壓縮器: TOEA會掃描字串、樣板字面值與正規表示式字面值,移除其中之外的行註解與區塊註解,修剪樣板字面值之外的縮排,並保留行界線,讓自動插入分號的行為更安全。 全程在瀏覽器中於本機執行,檔案不會上傳至伺服器。

使用次數
在瀏覽器中
費用
免費・免註冊
可用狀態
可立即使用
JavaScript 壓縮工具本機處理

全程在瀏覽器中執行

哪些內容會原樣複製

字串、樣板字面值和正規表示式字面值都會完全複製,因此/https?:\/\//中的//不會被視為註解,多行樣板字面值中的縮排也會保留在字串中。當/出現在運算子、開頭括號、逗號、分號、大括號或return、typeof等關鍵字之後時,會開始一個正規表示式;而出現在名稱、數字或結尾括號之後時,則表示除法。這是一般規則,只有少見的程式碼(例如if (ok) /x/.test(s))可能被誤判。

換行會保留,空白行則會移除,因為自動分號插入取決於換行:若將let a = b和(c || d).run()接在同一行,b就會被當成函式呼叫。跨越多行的區塊註解也會留下一个換行,原因相同。

何時該使用建置工具

本頁只會移除註解和縮排。Terser和esbuild等建置時壓縮器還會縮短區域變數名稱、刪除無法到達的程式碼並寫入來源對映,通常能產生小得多的檔案。應用程式套件請使用這些工具;片段、嵌入程式碼或要貼到網頁中的指令碼,則可使用本工具。在差異檢查工具中比較輸入和輸出,就能確切看出哪些行發生變化。

使用方式

  1. 貼上JavaScript程式碼。
  2. 選擇「壓縮JavaScript」。
  3. 測試、複製或下載輸出結果。

隱私與限制

原始碼會留在本機。這款刻意採取保守處理的壓縮器不是混淆工具;發布前請先測試產生的程式碼。

相關工具

常見問題

為什麼不縮短名稱?

為了減少程式碼片段與整合情境中的意外,本工具刻意不進行識別字混淆。

為什麼保留部分換行?

保留行界線可避免改變JavaScript自動插入分號的行為。

免費工具・使用在瀏覽器中次・免註冊