JavaScript 美化與壓縮工具

重新縮排已壓縮或混淆的 JavaScript 以便閱讀,或壓縮自己的程式碼以縮減發佈體積。

JavaScript 輸入

縮排
變數名稱
script.js
貼上或輸入 JavaScript 以進行美化或壓縮。

你的 JavaScript 會在瀏覽器本機進行美化和壓縮,不會上傳至 BroBroGo。

常見問題

「美化」與「壓縮」有何分別?

「美化」會重新縮排並加入空格,使程式碼易讀且便於逐步偵錯——這是解讀已壓縮或混淆檔案最快的方法。「壓縮」正好相反:它會移除空格、註解和無用程式碼(dead code),使檔案下載速度更快。閱讀時使用美化,發佈前進行壓縮。

能將已壓縮的程式碼還原為原始程式碼嗎?

它能還原縮排和換行,使邏輯重新變得易讀,但無法找回原始的變數名稱或註解——壓縮時這些資料已被永久丟棄,任何工具都無法復原。你得到的是排版清晰的相同程式碼。

「縮短」與「保留」變數名稱選項有何作用?

兩者都會移除空格、註解和無法執行的程式碼,且都不會改變腳本的行為。「縮短」還會將本機變數重新命名為單個字母,以獲得最小的檔案體積以便發佈。「保留」則會維持原有的變數名稱,雖然檔案體積略大,但依然可讀且便於偵錯。

JavaScript 程式碼美化與壓縮的運作機制

在 JavaScript 開發流程中,程式碼的排版格式與檔案體積對開發效率及網頁載入速度有著直接影響。JavaScript 美化與壓縮工具提供兩種核心功能:美化與壓縮。

美化功能主要用於提升程式碼的可讀性。當開發人員面對排版混亂、壓縮過或經過混淆的 JavaScript 程式碼時,美化功能會重新加入適當的縮排與空格,使程式碼結構變得清晰,便於閱讀、分析及逐步偵錯。

壓縮功能則用於優化實際運行環境的部署效率。此過程會移除程式碼中所有不必要的字元,包括空格、換行、註解以及無法執行的無用程式碼(dead code),從而縮減檔案體積,加快瀏覽器的下載與載入速度。

輸入限制與輸出指標

本工具在瀏覽器本機處理 JavaScript 程式碼,並設有特定的輸入限制與輸出數據顯示:

  • 輸入限制:用戶可直接貼上或輸入 JavaScript 程式碼,最大支援容量為 3,000,000 個字元。
  • 輸出指標:處理完成後,唯讀編輯器會顯示處理後的程式碼,並提供以下即時數據:
    • 行數:輸出程式碼的總行數。
    • 字元:輸出程式碼的總字元數量。
    • 大小:以 UTF-8 位元組(bytes)計算的輸出檔案體積。

格式化規則與變數處理選項

針對美化與壓縮兩種模式,工具提供不同的自訂規則與處理機制:

美化縮排設定

進行美化時,用戶可根據團隊的編碼規範選擇不同的縮排風格,支援以下三種樣式:

  • 2 個空格
  • 4 個空格
  • Tab 鍵

壓縮變數命名規則

進行壓縮時,針對區域變數(local variable)的處理,提供兩種控制選項:

  • 縮短:將區域變數重新命名為單個字母,以達到極限壓縮,產生體積最小的檔案。
  • 保留:維持原始的區域變數名稱不變。雖然輸出的檔案體積會略大,但能保留程式碼的語意,便於後續的偵錯與維護。

壓縮時的特殊處理

  • 註解與空白:壓縮會清除一般註解與空白,但會完整保留含有 /*! … */ 格式的授權聲明橫幅(license banners),確保開源授權合規。
  • 不可逆性:壓縮過程會永久丟棄原始的變數名稱與註解,因此壓縮後的程式碼無法透過美化還原出原始的變數命名與註解內容。

異常處理與狀態說明

工具在不同操作情境下會顯示對應的狀態提示或錯誤訊息:

  • 準備就緒:若輸入區為空,工具會保持在「貼上或輸入 JavaScript 以進行美化或壓縮。」的就緒狀態。
  • 清除重設:點選「清除」按鈕會同時移除輸入與輸出內容,並清除瀏覽器中儲存的草稿,狀態會顯示為「已清除。」。
  • 體積過大錯誤:若輸入的 JavaScript 程式碼超過 3,000,000 個字元,系統會顯示錯誤訊息:「檔案太大,無法處理。請嘗試較小的檔案。」。
  • 逾時限制:若程式碼處理時間超過 20 秒,系統會中斷操作並顯示:「處理時間過長並已停止——請嘗試較小的檔案。」。
  • 語法錯誤:若輸入的 JavaScript 含有語法錯誤而無法解析,系統會顯示:「無法處理此 JavaScript。」。
  • 無有效程式碼:若壓縮後沒有殘留任何可執行的腳本,系統會提示:「壓縮後未殘留任何內容——輸入中沒有可執行的程式碼。」。
  • 壓縮成效顯示:壓縮成功後,系統會顯示「已壓縮——體積減少 {pct}%。」,呈現具體的體積縮減百分比。

本機處理與私隱保護

本工具採用本機處理機制。用戶輸入的所有 JavaScript 程式碼均直接在用戶的瀏覽器內進行美化或壓縮,整個處理過程不會將任何程式碼或數據上傳至 BroBroGo 伺服器,保障程式碼的私隱。

常見問題

「美化」與「壓縮」有何分別?

「美化」會重新縮排並加入空格,使程式碼易讀且便於逐步偵錯——這是解讀已壓縮或混淆檔案最快的方法。「壓縮」正好相反:它會移除空格、註解和無用程式碼(dead code),使檔案下載速度更快。閱讀時使用美化,發佈前進行壓縮。

能將已壓縮的程式碼還原為原始程式碼嗎?

它能還原縮排和換行,使邏輯重新變得易讀,但無法找回原始的變數名稱或註解——壓縮時這些資料已被永久丟棄,任何工具都無法復原。你得到的是排版清晰的相同程式碼。

「縮短」與「保留」變數名稱選項有何作用?

兩者都會移除空格、註解和無法執行的程式碼,且都不會改變腳本的行為。「縮短」還會將本機變數重新命名為單個字母,以獲得最小的檔案體積以便發佈。「保留」則會維持原有的變數名稱,雖然檔案體積略大,但依然可讀且便於偵錯。