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 |
| 免费镜像 | https://www.caellab.com/tool/packaged |
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]。
随着TurboWarp在中国对少儿编程圈的影响力的扩张,TurboWarp.org可能因访问量大的问题存在访问不稳定、慢速的情况,因此虚舟实验室使用技术镜像本打包器[6],为部分用户提供了方便的打包服务。