跳转到内容

TurboWarp Packager:修订间差异

轻之舟百科,让知识轻装启航
CaelLab​(留言 | 贡献)
CSV导入
 
云云​(留言 | 贡献)
小 云云移动页面TurboWarp打包器至TurboWarp Packager:​使用官方标题
 
(未显示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]]

2026年9月20日 (日) 02:35的最新版本

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]。

参考文献

[编辑 | 编辑源代码]