TurboWarp打包器(先進的ScratchPackager)
TurboWarp打包器(英文名:TurboWarp Packager,又稱先進的Scratch Packager)是由TurboWarp社區開發的一款開源項目打包工具,用於將Scratch(含原生Scratch-VM與TurboWarp)項目(.sb3、.sb2、.sb格式)轉換為可在獨立環境中運行的HTML文件、ZIP歸檔包或適用於Windows、macOS及Linux系統的原生可執行程序[1][2]。作為TurboWarp生態系統的核心組件之一,該工具繼承了TurboWarp對Scratch項目的高性能編譯優化,支持通過Electron、NW.js及WKWebView等多種運行時環境生成跨平台應用[1],並提供Node.js編程接口(@turbowarp/packager)供開發者集成調用[3]。
| TurboWarp打包器 | |
|---|---|
| 中文名 | TurboWarp打包器 |
| 英文名 | TurboWarp Packager |
| 別稱 | 先進的Scratch Packager |
| 開發者 | TurboWarp社區(GarboMuffin等) |
| 程式語言 | JavaScript |
| 作業系統 | Windows、macOS、Linux |
| 類型 | 項目打包工具 |
| 許可協議 | 開源軟體 |
| 官方網站 | packager.turbowarp.org |
概述
TurboWarp Packager最初作為TurboWarp編輯器的附屬功能開發,後逐步演進為可獨立使用的打包解決方案[1]。該工具採用靜態網頁技術構建,可通過瀏覽器直接訪問使用,同時也提供可離線運行的獨立HTML版本與桌面應用程式內嵌版本[4]。其原始碼託管於GitHub平台,採用GitHub Actions實現持續集成與自動部署[5]。
功能特性
多格式導出
TurboWarp打包器支持將Scratch項目輸出為多種分發格式:純HTML網頁文件(所有資源內嵌為單文件)、ZIP壓縮歸檔,以及基於Electron、NW.js或WKWebView構建的Windows(.exe)、macOS(.app)和Linux可執行程序[1][2]。打包後的應用可完全離線運行,無需依賴Scratch官網或TurboWarp在線編輯器[2]。
運行時與自定義
用戶可根據目標平台選擇不同的運行時環境:Electron提供完整的Chromium內核與Node.js支持;NW.js具備相似的跨平台能力;WKWebView則適用於macOS原生應用構建[1]。打包器允許自定義應用圖標、窗口標題、初始窗口尺寸、是否全屏啟動及背景節流等參數[2]。
開發者接口
除圖形界面外,TurboWarp打包器提供Node.js API模塊(@turbowarp/packager),允許開發者以編程方式調用打包功能[3]。該API目前處於測試階段,建議通過精確版本鎖定(--save-exact)安裝以避免接口變動帶來的兼容性問題[3]。
技術架構
TurboWarp打包器基於JavaScript技術棧開發,核心打包邏輯通過Packager類協調完成,依次執行項目加載、資源解析、中間表示轉換及目標代碼生成等步驟[1]。對於HTML輸出,由WebAdapter模塊將項目轉換為瀏覽器可執行的HTML、CSS與JavaScript代碼;對於桌面應用,則由Node適配器整合相應運行時框架完成構建[1]。大型運行時二進制文件(如Electron、NW.js)未包含在主倉庫中,而是在打包時通過SHA-256校驗從遠程伺服器按需下載並本地緩存[1]。
使用方式
TurboWarp打包器提供三種主要使用途徑:通過官方網站(packager.turbowarp.org)在線使用;下載TurboWarp桌面版,通過"文件 > 打包項目"菜單調用內嵌打包器;或從GitHub Releases下載獨立HTML文件在本地瀏覽器中離線運行[4]。此外,開發者可克隆GitHub倉庫,通過npm install安裝依賴後,以npm start啟動本地開發伺服器,或運行npm run build-prod構建生產版本[1]。