File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ # Tauri + React 桌面应用开发 SKILL(项目栈专用)
2+
3+ 本文基于当前技术栈与实际工作流,整理从开发到构建、签名、发布与更新的完整流程,重点覆盖 Tauri Rust 运行机制、Windows 打包与自签名、资产与图标、工作流与权限要求。
4+
5+ ## 1. 技术栈与运行形态
6+ - 前端:React + TypeScript + Vite
7+ - 桌面框架:Tauri 2(Rust)
8+ - 包管理:Node + pnpm
9+ - UI:Tailwind CSS + @heroui/react
10+ - 打包:Windows MSI(WiX)+ NSIS
11+ - 更新:Tauri Updater + GitHub Releases
12+
13+ ## 2. Tauri Rust 核心运行流程
14+ 1 . 前端入口
15+ - Vite 多入口构建(main / mini / edit)
16+ 2 . Tauri 启动流程
17+ - 初始化插件(updater / process / dialog / autostart / opener)
18+ - 注册 command(Rust 函数暴露给前端调用)
19+ - 启动多窗口与权限能力
20+ 3 . 资源与路径
21+ - 打包资源通过 bundle.resources 注入
22+ - 运行时优先从资源目录解析路径
23+ - 安装目录与运行目录必须兼容
24+
25+ ## 3. 开发到构建的完整流程
26+
27+ ### 3.1 环境准备
28+ - Node.js + pnpm
29+ - Rust 工具链(tauri-cli 2)
30+ - Windows:Visual Studio Build Tools + Windows SDK
31+ - WebView2 可用
32+
33+ ### 3.2 本地开发流程
34+ 1 . 启动前端开发服务器
35+ 2 . 启动 Tauri Dev(绑定固定端口)
36+ 3 . 验证多窗口与前端热更新
37+
38+ ### 3.3 本地构建流程
39+ 1 . 前端构建
40+ - 生成多入口产物
41+ 2 . Tauri 打包
42+ - 生成 MSI / NSIS
43+ - 输出 updater 产物(latest.json / * .sig)
44+
45+ ## 4. Windows 打包与签名
46+
47+ ### 4.1 安装包与升级
48+ - MSI
49+ - UpgradeCode 必须固定
50+ - 覆盖安装依赖 UpgradeCode 与稳定安装路径
51+ - NSIS
52+ - installMode 影响安装路径与覆盖策略
53+
54+ ### 4.2 自签名与证书
55+ - 安装包签名
56+ - 使用 signtool.exe
57+ - 证书可自签或正式证书
58+ - 资源签名
59+ - 外部可执行资源需要签名
60+
61+ ### 4.3 图标与资产
62+ - icon.ico 必须配置在 bundle.icon
63+ - 资源文件放入 bundle.resources
64+ - 路径访问使用资源解析逻辑
65+
66+ ## 5. 自动更新体系
67+ 1 . updater 配置
68+ - pubkey 必须与私钥匹配
69+ - endpoints 指向 latest.json
70+ 2 . 更新产物
71+ - latest.json
72+ - * .sig
73+ 3 . 更新流程
74+ - 检查更新 → 下载 → 安装 → 重启
75+ 4 . 常见问题
76+ - pubkey/私钥不匹配导致校验失败
77+ - latest.json 不在 Release 或 URL 不可访问
78+
79+ ## 6. 权限与能力要求
80+ - capabilities 必须声明前端可用能力
81+ - 更新能力需要 updater 相关权限
82+ - 窗口控制需要 window 权限
83+ - 文件打开/保存需要 dialog 与 opener 权限
84+
85+ ## 7. CI/CD 工作流(Windows)
86+ 1 . 安装 Node / pnpm / Rust
87+ 2 . 注入外部资源(如 ffmpeg)
88+ 3 . 设置签名证书
89+ 4 . 注入 updater 私钥
90+ 5 . 构建 MSI/NSIS 与 updater 产物
91+ 6 . 签名安装包与资源
92+ 7 . 上传 Release 资产
93+
94+ ## 8. 常见问题与排查
95+
96+ ### 8.1 打包失败
97+ - 缺失 Windows SDK 或 C++ 工具链
98+ - WebView2 引导安装配置错误
99+
100+ ### 8.2 资源找不到
101+ - resources 未打包
102+ - 资源路径解析不兼容安装目录
103+
104+ ### 8.3 更新失败
105+ - latest.json 缺失或 URL 访问失败
106+ - 更新签名校验失败
107+ - 版本号不一致
108+
109+ ### 8.4 安装覆盖失败
110+ - MSI UpgradeCode 变更
111+ - 安装路径不一致
112+
113+ ## 9. 构建发布检查清单
114+ - 版本号统一
115+ - icon.ico 与资源完整
116+ - updater pubkey 与私钥一致
117+ - latest.json 与签名文件已上传
118+ - MSI/NSIS 可覆盖安装
You can’t perform that action at this time.
0 commit comments