跳至內容

TurboWarp打包器(先進的ScratchPackager)

出自轻之舟百科

TurboWarp打包器(英文名:TurboWarp Packager,又稱先進的Scratch Packager)是由TurboWarp社區開發的一款開源項目打包工具,用於將Scratch(含原生Scratch-VMTurboWarp)項目(.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模塊將項目轉換為瀏覽器可執行的HTMLCSSJavaScript代碼;對於桌面應用,則由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]

參考文獻