Tauri 打包器是一个核心系统,负责将编译后的应用程序转换为特定于平台的发行包,例如 .msi、.exe、.dmg、.deb 等。本页面介绍了打包器的架构、配置选项以及如何使用它来创建跨平台的安装包。有关打包器的 CLI 接口信息,请参阅 CLI。
Tauri 打包器会获取您编译好的应用程序,并将其与特定于平台的元数据、二进制文件、资源和打包信息一起打包,从而创建安装程序或分发包。该打包器设计灵活,支持多种目标平台和包格式,并提供广泛的自定义选项。
来源
打包器支持各种平台上的多种包类型
| 包类型 | 描述 | 平台 |
|---|---|---|
MacOsBundle | macOS 应用程序包 (.app) | macOS |
IosBundle | iOS 应用程序包 | iOS |
WindowsMsi | Windows MSI 安装程序 | Windows |
Nsis | Windows NSIS 安装程序 (.exe) | Windows |
Deb | Debian 包 (.deb) | Linux |
Rpm | RPM 包 (.rpm) | Linux |
AppImage | AppImage 包 (.AppImage) | Linux |
Dmg | macOS 磁盘映像 (.dmg) | macOS |
Updater | 更新程序包 | 所有 |
每种包类型都在打包器中实现为一个独立的模块,其中包含针对平台特定要求的打包逻辑。
来源
打包器使用分层设置结构,该结构定义了打包过程的各个方面
来源
打包过程遵循以下步骤
tauri.conf.json 配置文件和任何特定于平台的覆盖配置来源
CLI 通过 tauri bundle 命令暴露打包器,该命令负责配置加载、执行打包器以及报告结果。该命令支持各种选项来控制打包过程
| 选项 | 描述 |
|---|---|
--debug | 使用 debug 标志构建 |
--bundles | 要打包的包的空格或逗号分隔列表 |
--config | 要合并的 JSON 字符串或配置文件路径 |
--features | 要激活的 Cargo 功能的空格或逗号分隔列表 |
--target | 要构建的目标三元组 |
--ci | 跳过提示输入值 |
来源
Windows 打包支持 MSI(Windows Installer)和 NSIS(Nullsoft Scriptable Install System)包,并提供广泛的自定义选项。
MSI 打包器使用 WiX Toolset,并支持以下自定义设置
NSIS 打包器支持
macOS 打包支持 .app 包和 .dmg 磁盘映像
Linux 支持多种打包格式
对移动平台的支持实现在 CLI 层而不是核心打包器中
来源
当启用更新程序功能时,打包器对创建更新程序工件有特殊支持
更新程序集成需要
打包器确保签名密钥与公钥匹配,以防止配置错误。
来源
打包器实现可以表示如下
打包逻辑遵循以下步骤
来源
打包器通过 bundle 命令集成到 Tauri CLI 中,该命令
AppInterface 并获取应用设置来源
Tauri 打包器可以通过 tauri.conf.json 文件进行高度配置。关键配置部分包括:
通过多层处理,配置被映射到内部设置结构
ConfigMetadataAppSettings 提取包配置BundleSettingsBundleSettings 用于创建打包器的 Settings来源
Tauri 打包器是一个强大而灵活的系统,用于跨多个平台创建分发包。它与 Tauri CLI 和配置系统深度集成,提供了广泛的自定义选项,同时抽象了特定于平台的打包复杂性。
了解打包器架构有助于开发人员正确配置其应用程序以进行分发,并在出现打包问题时进行故障排除。