发布分发
发布分发
功能
发布时通常分发 bt_app.exe build 生成的 dist/{app.name}.exe。该 exe 尾部包含 Bundle,运行时会从自身读取应用资源。
Windows
Windows 用户直接双击打包后的 exe 运行。若系统缺少 WebView2 Runtime,bt_app 会在启动错误路径给出友好提示,用户需要安装 Microsoft Edge WebView2 Runtime。
建议发布前确认:
-
dev.console是否为false。 -
app.icon是否是有效.ico。 -
dist/{app.name}.exe能在干净目录中独立运行。 -
static模式所需资源都进入 Bundle。 -
server模式的端口没有和常见软件冲突。
Linux 和 macOS
Linux 官方包中的 bt 命令行解释器使用 x86_64-unknown-linux-musl 静态目标构建,部署脚本和 Web 服务时不依赖目标服务器的 glibc 版本。若服务器执行 ./bt -c main.bt 报 GLIBC_2.38 not found 或 GLIBC_2.39 not found,应替换为新的 Linux 官方包中的 bt。
Linux 的 bt_app 是桌面应用引擎,仍依赖目标系统的 WebKitGTK、桌面会话和图形运行环境,不按 musl 静态方式发布。面向 Linux 桌面分发时,需要在目标发行版上做实际启动验证。
macOS 使用 Darwin/libSystem,不使用 glibc,因此不会出现 Linux 的 GLIBC_x.y not found 报错。macOS 分发应使用对应架构的 macOS 构建产物,并按系统要求处理签名、安全提示和运行权限。
当前项目的正式打包输出仍以 .exe 单文件逻辑为主,bt_app.exe export 是预留入口,跨平台导出能力当前版本暂未完成。需要面向 Linux 或 macOS 发布时,应以当前实际构建产物和运行环境验证结果为准,不要把 .icns、.png 平台图标写成已支持打包能力。
远程应用更新
远程入口模式下,软件壳本身可以保持稳定,业务页面和 BT 脚本可以部署在服务器端。开发者更新服务器内容后,用户再次打开应用即可使用新版本功能,不一定需要重新下载安装客户端。
{ "app": { "mode": "remote", "entry": "https://example.com/app" } }
远程页面当前可以调用 window.bt.call() 和窗口控制能力。发布时只应配置可信 HTTPS 地址,并注意远程页面的账号、权限和内容安全。
本地打包应用更新
static 和 server 模式的本地资源已经打进 exe。更新页面、BT 脚本、图标或 app.json 后,需要重新执行:
./bt_app.exe build
然后把新的 dist/{app.name}.exe 分发给用户。
WebView2 依赖
Windows 桌面窗口依赖 WebView2。开发和发布测试时,如果窗口无法打开、提示 WebView 相关错误,优先检查系统是否安装 WebView2 Runtime。