|
|
| (未显示3个用户的9个中间版本) |
| 第1行: |
第1行: |
| TurboWarp打包器(TurboWarp Packager)是由[https://baike.caellab.com/turbowarp-%e5%9f%ba%e4%ba%8escratch%e7%9a%84%e5%a2%9e%e5%bc%ba%e5%9e%8b%e7%bc%96%e7%a8%8b%e5%b7%a5%e5%85%b7 TurboWarp]开发的一个开源工具,专门用于将Scratch项目转换为多种可分发格式,包括HTML文件、ZIP压缩包以及Windows、macOS和Linux平台的可执行程序[1]。该工具基于Web技术开发,允许用户将Scratch项目打包成独立的桌面应用程序,无需依赖Scratch官方环境即可运行,特别适合教育工作者、学生和开发者分享他们的编程作品[2]。 | | TurboWarp打包器(英文名:TurboWarp Packager,又称先进的Scratch Packager)是由[[TurboWarp(基于Scratch的增强型编程工具)|TurboWarp]]社区开发的一款开源项目打包工具,用于将[[Scratch(全球少儿图形化编程语言)|Scratch]](含原生[[Scratch-VM]]与[[TurboWarp(基于Scratch的增强型编程工具)|TurboWarp]])项目(.sb3、.sb2、.sb格式)转换为可在独立环境中运行的HTML文件、ZIP归档包或适用于[[Windows(操作系统)|Windows]]、macOS及Linux系统的原生可执行程序<ref name=":1">[https://github.com/TurboWarp/packager TurboWarp Packager - GitHub]</ref><ref name=":2">[https://packager.turbowarp.org/ TurboWarp Packager]</ref>。作为TurboWarp生态系统的核心组件之一,该工具继承了TurboWarp对[[Scratch(全球少儿图形化编程语言)|Scratch]]项目的高性能编译优化,支持通过[[Electron]]、NW.js及WKWebView等多种运行时环境生成跨平台应用<ref name=":1" />,并提供[[Node.js]]编程接口(@turbowarp/packager)供开发者集成调用<ref name=":3">[https://www.npmjs.com/package/@turbowarp/packager @turbowarp/packager - npm]</ref>。 |
|
| |
|
| == 基础信息 == | | {| class="infobox" style="border:1px solid #ccc; background:#f8f9fa; width:24em; float:right; margin:0 0 1em 1em; border-spacing:5px;" |
| | |- |
| | ! colspan="2" style="text-align:center;" | '''TurboWarp打包器''' |
| | |- |
| | | 中文名 || '''TurboWarp打包器''' |
| | |- |
| | | 英文名 || '''TurboWarp Packager''' |
| | |- |
| | | 别称 || '''先进的Scratch Packager''' |
| | |- |
| | | 开发者 || '''[[TurboWarp(基于Scratch的增强型编程工具)|TurboWarp]]社区(GarboMuffin等)''' |
| | |- |
| | | 编程语言 || '''[[JavaScript]]''' |
| | |- |
| | | 操作系统 || '''Windows、macOS、Linux''' |
| | |- |
| | | 类型 || '''项目打包工具''' |
| | |- |
| | | 许可协议 || '''开源软件''' |
| | |- |
| | | 官方网站 || '''[https://packager.turbowarp.org packager.turbowarp.org]''' |
| | |} |
|
| |
|
| 项目内容'''中文名'''TurboWarp打包器'''外文名'''TurboWarp Packager'''开发语言'''JavaScript、Svelte、HTML、CSS'''开源协议''''''主要功能'''将Scratch项目转换为HTML、ZIP、EXE等格式'''支持平台'''Windows、macOS、Linux'''官方网站'''[https://packager.turbowarp.org/ https://packager.turbowarp.org]'''项目地址'''[https://github.com/TurboWarp/packager https://github.com/TurboWarp/packager]'''虚舟实验室镜像'''[https://www.caellab.com/tool/packaged https://www.caellab.com/tool/packaged][28]'''由谁开发'''TurboWarp'''首次发布'''2022年7月
| | == 概述 == |
|
| |
|
| == 1 功能特点 == | | TurboWarp Packager最初作为[[TurboWarp(基于Scratch的增强型编程工具)|TurboWarp]]编辑器的附属功能开发,后逐步演进为可独立使用的打包解决方案<ref name=":1" />。该工具采用静态网页技术构建,可通过浏览器直接访问使用,同时也提供可离线运行的独立HTML版本与桌面应用程序内嵌版本<ref name=":4">[https://docs.turbowarp.org/packager/offline Offline Packager - TurboWarp Documentation]</ref>。其源代码托管于GitHub平台,采用GitHub Actions实现持续集成与自动部署<ref name=":5">[https://github.com/TurboWarp/packager/actions/workflows/deploy.yml Deploy to GitHub Pages - TurboWarp/packager]</ref>。 |
|
| |
|
| === 1.1 多格式输出支持 === | | == 功能特性 == |
|
| |
|
| TurboWarp打包器支持三种主要输出格式[3]:
| | === 多格式导出 === |
|
| |
|
| * '''HTML单文件''':包含完整项目的独立网页,可在任何现代浏览器中运行
| | TurboWarp打包器支持将Scratch项目输出为多种分发格式:纯HTML网页文件(所有资源内嵌为单文件)、ZIP压缩归档,以及基于Electron、NW.js或WKWebView构建的Windows(.exe)、macOS(.app)和Linux可执行程序<ref name=":1" /><ref name=":2" />。打包后的应用可完全离线运行,无需依赖Scratch官网或TurboWarp在线编辑器<ref name=":2" />。 |
|
| |
|
| * '''ZIP压缩包''':便于分发和存储的项目包
| | === 运行时与自定义 === |
|
| |
|
| * '''可执行程序''':Windows(.exe)、macOS(.app)、Linux(binary)平台的桌面应用程序
| | 用户可根据目标平台选择不同的运行时环境:Electron提供完整的Chromium内核与Node.js支持;NW.js具备相似的跨平台能力;WKWebView则适用于macOS原生应用构建<ref name=":1" />。打包器允许自定义应用图标、窗口标题、初始窗口尺寸、是否全屏启动及背景节流等参数<ref name=":2" />。 |
|
| |
|
| === 1.2 跨平台兼容性 === | | === 开发者接口 === |
|
| |
|
| 工具支持Windows、macOS和Linux三大主流操作系统,生成的应用程序可在相应平台上直接运行,无需安装额外的运行环境[4]。
| | 除图形界面外,TurboWarp打包器提供Node.js API模块(@turbowarp/packager),允许开发者以编程方式调用打包功能<ref name=":3" />。该API目前处于测试阶段,建议通过精确版本锁定(--save-exact)安装以避免接口变动带来的兼容性问题<ref name=":3" />。 |
|
| |
|
| === 1.3 智能资源管理 === | | == 技术架构 == |
|
| |
|
| 系统内置智能压缩算法,自动优化项目文件大小,平衡质量与体积。默认设置已针对大多数场景优化,避免盲目提高参数导致文件过大[5]。
| | TurboWarp打包器基于[[JavaScript]]技术栈开发,核心打包逻辑通过Packager类协调完成,依次执行项目加载、资源解析、中间表示转换及目标代码生成等步骤<ref name=":1" />。对于[[HTML]]输出,由WebAdapter模块将项目转换为浏览器可执行的[[HTML]]、[[CSS]]与[[JavaScript]]代码;对于桌面应用,则由Node适配器整合相应运行时框架完成构建<ref name=":1" />。大型运行时二进制文件(如Electron、NW.js)未包含在主仓库中,而是在打包时通过SHA-256校验从远程服务器按需下载并本地缓存<ref name=":1" />。 |
|
| |
|
| === 1.4 扩展插件支持 === | | == 使用方式 == |
|
| |
|
| 支持游戏手柄、自定义主题等扩展插件,用户可根据需求启用或禁用特定功能。工具还支持检测项目中使用的扩展功能,避免导出后功能缺失[6]。
| | TurboWarp打包器提供三种主要使用途径:通过官方网站(packager.turbowarp.org)在线使用;下载TurboWarp桌面版,通过"文件 > 打包项目"菜单调用内嵌打包器;或从GitHub Releases下载独立[[HTML]]文件在本地浏览器中离线运行<ref name=":4" />。此外,开发者可克隆GitHub仓库,通过npm install安装依赖后,以npm start启动本地开发服务器,或运行npm run build-prod构建生产版本<ref name=":1" />。 |
|
| |
|
| == 2 技术架构 == | | == 参考文献 == |
| | | <references /> |
| === 2.1 核心打包引擎 ===
| |
| | |
| TurboWarp打包器的核心是src/packager/packager.js文件,实现了项目资源下载与解析、多平台可执行文件生成、图标资源转换与打包等功能[7]。
| |
| | |
| === 2.2 模块化适配器设计 ===
| |
| | |
| 项目采用模块化适配器设计,在src/packager/目录下实现了完整的打包引擎:
| |
| | |
| * adapter.js:定义统一的适配器接口
| |
| | |
| * web/adapter.js:Web环境适配器实现
| |
| | |
| * node/adapter.js:Node.js环境适配器实现[8]
| |
| | |
| === 2.3 大型文件管理 ===
| |
| | |
| 通过src/packager/large-assets.js处理NW.js、Electron等运行时环境的下载和缓存,优化大型二进制文件的管理机制[9]。
| |
| | |
| == 3 使用方法 ==
| |
| | |
| === 3.1 在线使用 ===
| |
| | |
| 用户可以直接访问官方网站[https://packager.turbowarp.org/ https://packager.turbowarp.org],通过图形化界面完成打包操作[10]:
| |
| | |
| # 点击"选择文件"按钮,选择本地的.sb3格式Scratch项目文件
| |
| | |
| # 设置输出格式(HTML、ZIP或可执行程序)
| |
| | |
| # 配置窗口尺寸、图标等可选参数
| |
| | |
| # 点击"Package"按钮开始打包
| |
| | |
| # 下载生成的文件
| |
| | |
| === 3.2 命令行使用 ===
| |
| | |
| 对于开发者,可以通过命令行工具进行批量处理和高级配置[11]:
| |
| | |
| # 安装依赖
| |
| git clone https://github.com/TurboWarp/packager.git
| |
| cd packager
| |
| npm install
| |
| | |
| # 打包Scratch项目
| |
| node cli.js https://scratch.mit.edu/projects/123456789 --output my-project.exe
| |
| | |
| # 批量处理
| |
| packager --batch=projects.txt
| |
| | |
| # 添加数字签名(避免杀毒软件误报)
| |
| packager --code-sign
| |
| | |
| === 3.3 本地部署 ===
| |
| | |
| 用户可以将TurboWarp打包器部署到本地服务器,提高访问速度和稳定性[12]:
| |
| | |
| # 下载独立构建版本(standalone.html)
| |
| | |
| # 部署到本地Web服务器
| |
| | |
| # 修改配置文件,将大型资源文件缓存到本地
| |
| | |
| # 通过本地地址访问打包器
| |
| | |
| == 4 应用场景 ==
| |
| | |
| === 4.1 教育领域 ===
| |
| | |
| 教师可以使用TurboWarp打包器将教学用的Scratch项目打包成独立应用,学生无需安装Scratch环境即可运行项目。打包后的应用支持完整的交互功能,包括精灵控制、声音播放和用户输入处理[13]。
| |
| | |
| === 4.2 作品展示与分享 ===
| |
| | |
| 创作者可以将Scratch项目转换为专业级桌面应用,通过自定义应用图标、窗口尺寸和品牌信息,提升作品在比赛或展示中的专业感。HTML版本可嵌入个人网站或社交平台,方便在线分享[14]。
| |
| | |
| === 4.3 长期保存与归档 ===
| |
| | |
| 将Scratch项目打包为ZIP压缩包或可执行文件,可作为创作档案永久保存,避免因Scratch平台政策变化或服务关闭导致作品丢失[15]。
| |
| | |
| === 4.4 离线环境使用 ===
| |
| | |
| 生成的独立应用程序完全支持离线运行,无需网络连接,适合在网络条件有限的场景下使用,如偏远地区学校、移动设备等[16]。
| |
| | |
| == 5 版本历史 ==
| |
| | |
| === 5.1 主要版本更新 ===
| |
| | |
| * '''v1.4.0(2022年6月24日)''':将TurboWarp Packager内置版本移至"文件">"打包项目"菜单,新增声音时长显示功能,支持调试器插件[17]。
| |
| | |
| * '''v1.5.0(2022年7月23日)''':新增反转项目控制顺序、隐藏舞台和角色精灵显示面板等插件,允许创建无限数量的云变量[18]。
| |
| | |
| * '''v1.15.0(2025年10月27日)''':Windows系统标题栏自动适应暗色模式设置,为Debian/Ubuntu建立软件仓库,优化打包工具的内存使用效率[19]。
| |
| | |
| === 5.2 技术改进 ===
| |
| | |
| * 新增独立构建功能,生成包含完整打包器的单个HTML文件
| |
| | |
| * 引入服务工作者(Service Worker),支持离线使用(实验性功能)
| |
| | |
| * 提供Node.js模块和API文档,方便开发者集成和扩展
| |
| | |
| * 优化大型文件管理机制,提高下载效率[20]
| |
| | |
| == 6 注意事项 ==
| |
| | |
| === 6.1 兼容性问题 ===
| |
| | |
| * 避免使用Scratch特殊扩展模块(如AI识别、物联网),基础功能转换最稳定
| |
| | |
| * 推荐使用Chrome/Edge浏览器打开生成的HTML文件,IE浏览器可能不支持
| |
| | |
| * 部分杀毒软件可能误报生成的Windows应用程序,可通过添加数字签名解决[21]
| |
| | |
| === 6.2 性能优化建议 ===
| |
| | |
| * 打包前建议在Scratch中测试作品完整性,特别是音效和外部资源是否正常加载
| |
| | |
| * 尽量减少项目中的资源文件大小,以加快打包和运行速度
| |
| | |
| * 在不同操作系统和设备上测试打包后的可执行文件,确保稳定性和兼容性[22]
| |
| | |
| === 6.3 常见误区 ===
| |
| | |
| * '''误区''':认为输出文件越大质量越好 '''正解''':工具采用智能压缩算法,默认设置已平衡质量与体积,盲目提高参数只会增加加载时间
| |
| | |
| * '''误区''':所有项目都应导出为桌面应用 '''正解''':根据使用场景选择格式,教学演示适合HTML,长期保存适合压缩包,正式发布适合桌面应用[23]
| |
| | |
| == 7 相关项目 ==
| |
| | |
| === 7.1 Scratch ===
| |
| | |
| Scratch是由MIT媒体实验室开发的图形化编程语言,适合儿童和青少年学习编程。TurboWarp打包器是基于Scratch生态的重要工具,扩展了Scratch项目的分发能力[24]。
| |
| | |
| === 7.2 Electron ===
| |
| | |
| TurboWarp打包器利用Electron框架将Web应用打包成桌面应用。Electron是一个使用JavaScript、HTML和CSS构建跨平台桌面应用程序的框架,基于Chromium和Node.js[25]。
| |
| | |
| === 7.3 [https://baike.caellab.com/turbowarp-%e5%9f%ba%e4%ba%8escratch%e7%9a%84%e5%a2%9e%e5%bc%ba%e5%9e%8b%e7%bc%96%e7%a8%8b%e5%b7%a5%e5%85%b7 TurboWarp] Desktop ===
| |
| | |
| TurboWarp Desktop是TurboWarp项目的桌面版本,内置打包器功能,可将作品转换为HTML文件或适用于Windows、macOS、Linux的应用程序,同时提供60帧运行、自定义舞台大小、扩展支持等增强功能[26]。
| |
| | |
| == 8 发展前景 ==
| |
| | |
| 随着编程教育的普及和Scratch用户群体的扩大,TurboWarp打包器在教育、创作和分享领域的应用价值日益凸显。未来可能的发展方向包括:
| |
| | |
| * 支持更多输出格式和平台
| |
| | |
| * 增强云服务和协作功能
| |
| | |
| * 集成更多教育场景专用功能
| |
| | |
| * 优化移动设备适配体验
| |
| | |
| * 提供更丰富的自定义选项和模板 [27]
| |
| | |
| == 9 虚舟实验室贡献 ==
| |
| | |
| 随着[https://baike.caellab.com/turbowarp-%e5%9f%ba%e4%ba%8escratch%e7%9a%84%e5%a2%9e%e5%bc%ba%e5%9e%8b%e7%bc%96%e7%a8%8b%e5%b7%a5%e5%85%b7 TurboWarp]在中国对少儿编程圈的普及,TurboWarp.org存在访问不稳定的情况,因此虚舟实验室使用技术镜像本打包器 [28],为部分用户提供了方便的打包服务。[https://www.caellab.com/tool/packaged https://www.caellab.com/tool/packaged]
| |
| | |
| == 10 参考文献 ==
| |
| | |
| # TurboWarp Packager - Convert Scratch projects to HTML, EXE, and more. [https://packager.turbowarp.org/ https://packager.turbowarp.org]
| |
| | |
| # TurboWarp Desktop. [https://desktop.turbowarp.org/ https://desktop.turbowarp.org]
| |
| | |
| # TurboWarp Packager:专业级Scratch项目跨平台打包解决方案. CSDN. 2025-11-24
| |
| | |
| # TurboWarp Packager:将Scratch项目转换为多种格式的开源工具. GitCode博客. 2026-01-25
| |
| | |
| # 【亲测免费】 TurboWarp Packager 使用教程. GitCode博客. 2026-01-18
| |
| | |
| # 三步实现Scratch作品跨平台发布的零门槛工具. CSDN. 2026-01-25
| |
| | |
| # TurboWarp Packager:Scratch项目全平台分发的高效解决方案. CSDN. 2026-01-25
| |
| | |
| # TurboWarp Packager技术架构说明. CSDN. 2025-11-24
| |
| | |
| # 大型文件管理机制. GitCode博客. 2026-01-25
| |
| | |
| # 学习干货|3步搞定将Scratch作品转为HTML. 九咪编程. 2025-11-06
| |
| | |
| # TurboWarp Packager命令行使用指南. GitCode博客. 2026-01-25
| |
| | |
| # 将TurboWarp Packager部署到本地进行sb3转换. 高海鹏老师的博客. 2023-09-09
| |
| | |
| # 教育领域部署方案. CSDN. 2025-11-24
| |
| | |
| # 作品展示与分享应用场景. CSDN. 2026-01-25
| |
| | |
| # 长期保存与归档功能. CSDN. 2026-01-25
| |
| | |
| # 离线环境解决方案. CSDN. 2025-11-24
| |
| | |
| # TurboWarp 1.4.0版本更新说明. 3DMGAME. 2025-10-27
| |
| | |
| # TurboWarp 1.5.0版本更新说明. 3DMGAME. 2025-10-27
| |
| | |
| # TurboWarp 1.15.0版本更新说明. 3DMGAME. 2025-10-27
| |
| | |
| # 项目最近更新的功能. GitCode博客. 2026-01-25
| |
| | |
| # 技术问题解决方案. CSDN. 2026-01-25
| |
| | |
| # 最佳实践建议. GitCode博客. 2026-01-18
| |
| | |
| # 新手常见误区解析. CSDN. 2026-01-25
| |
| | |
| # Scratch生态介绍. GitCode博客. 2026-01-18
| |
| | |
| # Electron框架应用. GitCode博客. 2026-01-18
| |
| | |
| # TurboWarp Desktop功能说明. TurboWarp官网. 2026-01-17
| |
| | |
| # TurboWarp Packager发展前景分析. CSDN. 2026-01-25
| |
| | |
| # Scratch打包器(TurboWarp镜像) - CealLab | 虚舟实验室. [https://www.caellab.com/tool/packaged https://www.caellab.com/tool/packaged]. 虚舟实验室官网. 2026-03-31
| |
| | |
| | |
| | |
| [[Category:Scratch]]
| |
| [[Category:TurboWarp]]
| |