人人都会AI编程

8.1 前端 SDK @tauri-apps/api 核心用法

更新时间:2026-07-11

Tauri 针对这一痛点提供了多种内建的解决方案,开发者无需编写额外检测代码,只需在打包配置中声明策略即可。

1. 理解 WebView2 的分发模式

WebView2 有两种分发模式:

  • 常青版(Evergreen):与 Edge 浏览器同步更新,体积小(引导程序仅约 2 MB),联网后自动下载安装,适合大多数用户。
  • 固定版本(Fixed Version):指定某个具体版本的 WebView2 完整包(约 120 MB),不与系统 Edge 关联,适合离线或完全掌控运行环境的场景。

Tauri 默认使用常青版引导程序,并提供了四种安装模式。

2. Tauri 配置中的 WebView2 安装策略

tauri.conf.jsonbundle > windows 节点下,可以通过 webviewInstallMode 选项设置缺失时的处理行为:

| 模式 | 配置文件值 | 说明 | 体积影响 |
|------|------------|------|----------|
| 下载引导程序(默认) | downloadBootstrapper | 内置一个约 1.8 MB 的引导程序,运行时若检测到缺失,会自动下载并安装常青版 WebView2。需联网。 | 安装包 + 1.8 MB |
| 内嵌引导程序 | embedBootstrapper | 将引导程序直接嵌入二进制,无需额外文件,行为同上。 | 二进制 + 1.8 MB |
| 离线安装程序 | offlineInstaller | 打包一个完整的离线安装包(约 120 MB),无需联网即可安装,适合企业内网环境。 | 安装包 + 120 MB |
| 固定版本 | fixedVersion | 将指定版本的 WebView2 完整运行库嵌入应用文件夹,不依赖系统安装,也不联网。 | 应用目录 + 120 MB |
| 不处理 | skip | 不自动安装。如果未安装 WebView2,应用将崩溃,可通过 Tauri API 自行检测和引导。 | 无额外体积 |

3. 推荐实践

大多数应用直接使用默认的 downloadBootstrapper 即可。这种策略在体积和体验间取得了最佳平衡:

  • 安装包只增加不到 2 MB;
  • 用户首次启动时若缺失 WebView2,会看到一个微软官方的安装进度条,耗时约 1~2 分钟(取决于网速);
  • 此后 WebView2 会跟随系统自动更新,无需应用维护。

企业内网或离线场景,如果无法保证所有客户端都能上网,可采用 embedBootstrapper 并配合自建下载服务器,或使用 offlineInstaller。但不推荐使用 fixedVersion,除非你明确需要锁定某个特定版本(例如避免自动更新引入兼容性问题),因为它会让应用体积膨胀到 100 MB 以上,丧失了 Tauri 轻量的优势。

4. 实测与兼容性

在全新安装的 Windows 7 SP1(安装了 ESU 更新)上测试,未安装任何 WebView2 时,Tauri 应用启动后会弹出微软 WebView2 安装程序,安装完成后自动打开应用界面,全程无需用户干预。Windows 8/8.1 同理。即使是 Windows 10 LTSC 版本,这种机制同样生效。

5. 在代码中主动检测(可选)

如果你希望在应用启动时给出更友好的提示,可以使用 Tauri 提供的 window.TAURI.os 或调用 Rust 端的 WebView2 检测库。但绝大多数场景下,Tauri 自带的引导机制已经足够透明,开发者无需额外编写检测逻辑。

// 在 Rust 中检查 WebView2 是否可用(示例,Tauri 内部已自动处理)
use webview2_com::Microsoft::Web::WebView2::Win32::*;
// 通常不需要手动调用,仅供特殊需求

一句话总结:Tauri 通过嵌入微型引导程序,优雅地解决了低版本 Windows 系统缺失 WebView2 的问题,默认策略即可覆盖 99% 的场景,开发者几乎零成本适配。