TurboWarp Packager:修订间差异

TeodoroSeccombe​(留言 | 贡献)
小 创建页面,内容为“。”
云云​(留言 | 贡献)
第1行: 第1行:
<div style="width: 100%; border: 1px solid #a2a9b1; margin-bottom: 16px;">
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>。
<div style="background: #eaecf0; padding: 8px 12px; font-weight: bold;">{{{1|板块}}}</div>
 
<div style="padding: 12px;">
{| class="infobox" style="border:1px solid #ccc; background:#f8f9fa; width:24em; float:right; margin:0 0 1em 1em; border-spacing:5px;"
{{{2|}}}
|-
</div>
! colspan="2" style="text-align:center;" | '''TurboWarp打包器'''
{{#if:{{{3|}}}|
|-
<div style="text-align: right; padding: 6px 12px 10px; font-size: 0.9em;">[[{{{3|}}}|{{{4|更多 »}}}]]</div>
| 中文名 || '''TurboWarp打包器'''
}}
|-
</div>
| 英文名 || '''TurboWarp Packager'''
|-
| 别称 || '''先进的Scratch Packager'''
|-
| 开发者 || '''[[TurboWarp(基于Scratch的增强型编程工具)|TurboWarp]]社区(GarboMuffin等)'''
|-
| 编程语言 || '''[[JavaScript]]'''
|-
| 操作系统 || '''Windows、macOS、Linux'''
|-
| 类型 || '''项目打包工具'''
|-
| 许可协议 || '''开源软件'''
|-
| 官方网站 || '''[https://packager.turbowarp.org packager.turbowarp.org]'''
|}
 
== 概述 ==
 
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>。
 
== 功能特性 ==
 
=== 多格式导出 ===
 
TurboWarp打包器支持将Scratch项目输出为多种分发格式:纯HTML网页文件(所有资源内嵌为单文件)、ZIP压缩归档,以及基于Electron、NW.js或WKWebView构建的Windows(.exe)、macOS(.app)和Linux可执行程序<ref name=":1" /><ref name=":2" />。打包后的应用可完全离线运行,无需依赖Scratch官网或TurboWarp在线编辑器<ref name=":2" />。
 
=== 运行时与自定义 ===
 
用户可根据目标平台选择不同的运行时环境:Electron提供完整的Chromium内核与Node.js支持;NW.js具备相似的跨平台能力;WKWebView则适用于macOS原生应用构建<ref name=":1" />。打包器允许自定义应用图标、窗口标题、初始窗口尺寸、是否全屏启动及背景节流等参数<ref name=":2" />。
 
=== 开发者接口 ===
 
除图形界面外,TurboWarp打包器提供Node.js API模块(@turbowarp/packager),允许开发者以编程方式调用打包功能<ref name=":3" />。该API目前处于测试阶段,建议通过精确版本锁定(--save-exact)安装以避免接口变动带来的兼容性问题<ref name=":3" />。
 
== 技术架构 ==
 
TurboWarp打包器基于[[JavaScript]]技术栈开发,核心打包逻辑通过Packager类协调完成,依次执行项目加载、资源解析、中间表示转换及目标代码生成等步骤<ref name=":1" />。对于[[HTML]]输出,由WebAdapter模块将项目转换为浏览器可执行的[[HTML]]、[[CSS]]与[[JavaScript]]代码;对于桌面应用,则由Node适配器整合相应运行时框架完成构建<ref name=":1" />。大型运行时二进制文件(如Electron、NW.js)未包含在主仓库中,而是在打包时通过SHA-256校验从远程服务器按需下载并本地缓存<ref name=":1" />。
 
== 使用方式 ==
 
TurboWarp打包器提供三种主要使用途径:通过官方网站(packager.turbowarp.org)在线使用;下载TurboWarp桌面版,通过"文件 > 打包项目"菜单调用内嵌打包器;或从GitHub Releases下载独立[[HTML]]文件在本地浏览器中离线运行<ref name=":4" />。此外,开发者可克隆GitHub仓库,通过npm install安装依赖后,以npm start启动本地开发服务器,或运行npm run build-prod构建生产版本<ref name=":1" />。
 
== 参考文献 ==
<references />