Skip to content

Commit 1e85b76

Browse files
fix: 更新
1 parent a5c311f commit 1e85b76

4 files changed

Lines changed: 674 additions & 1053 deletions

File tree

SKILL.md

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
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 可覆盖安装

0 commit comments

Comments
 (0)