TurboWarp Packager 使用指南
TurboWarp Packager 是一个功能强大的工具,能够将 Scratch 项目转换为 HTML 文件、zip 压缩包或 Windows、macOS 和 Linux 平台的可执行程序。无论你是教育工作者、编程爱好者还是项目开发者,都能通过这个工具轻松实现作品的跨平台分享。
快速开始
环境准备
首先确保你的系统已安装 Node.js 运行环境。如果尚未安装,请前往官方网站下载最新版本。
获取项目
通过以下命令获取项目代码:
git clone https://gitcode.com/gh_mirrors/pack/packager
cd packager
npm ci
开发模式
启动开发服务器:
npm start
然后访问 http://localhost:8947 查看效果。开发模式下生成的项目文件不应分发,请使用生产构建以显著减小文件大小。
生产构建
执行生产构建:
npm run build-prod
构建输出将位于 dist 文件夹中。
项目结构详解
src 目录的组织结构如下:
- packager:负责下载和打包项目的核心代码
- p4:打包器的 Svelte 网站界面
- scaffolding:最小化的 Scratch 项目播放器
- common:scaffolding 和打包器共享的通用文件
- addons:可选插件,如游戏手柄支持或指针锁定
- locales:多语言翻译文件
核心功能模块
项目加载
使用 Packager.loadProject() 方法加载项目数据。该方法会解析项目文件,进行分析,并在输入为 project.json 时下载所需的资源文件。
const progressCallback = (type, a, b) => {};
const loadedProject = await Packager.loadProject(projectData, progressCallback);
项目打包
创建 Packager 实例并设置项目:
const packager = new Packager.Packager();
packager.project = loadedProject;
配置选项
packager.options 包含丰富的配置选项。建议逐个修改属性值,避免完全重新定义选项对象:
// 推荐做法
packager.options.turbo = true;
packager.options.custom.js = "/* 自定义代码 */";
高级功能
自定义图标
对于需要图像作为参数的选项,可以使用 Packager.Image 类:
packager.options.app.icon = new Packager.Image('image/png', fs.readFileSync('icon.png'));
进度监控
可以为打包过程添加进度监听器:
packager.addEventListener('zip-progress', ({detail}) => {
console.log('压缩进度', detail);
});
部署说明
打包器作为简单的静态网站部署。构建完成后,只需复制 dist 文件夹到任何静态文件服务器即可。
独立构建
打包器支持生成"独立构建",即包含整个打包器的单个 HTML 文件:
npm run build-standalone-prod
构建输出到 dist/standalone.html。
注意事项
- 大型文件如 NW.js、Electron 和 WKWebView 可执行文件存储在此存储库外部的服务器上
- 虽然我们不会主动删除旧文件,但不能保证它们会永远存在
- 下载使用安全校验和验证并在本地缓存
- 请尊重所打包项目的版权
通过这套完整的技术方案,TurboWarp Packager 为你提供了从创意到成品的快速通道,让每一个 Scratch 项目都能焕发新的生命力!
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



