tauri开发笔记
自更新
tauri 的自更新实现的还是比较简单,看看文档就基本明白怎么用了。
记录一下更新一版的流程。
- 修改版本号
tauri.conf.json
中的版本号和package.json
是两个独立的配置,并不会同步。
通常只需要修改tauri.conf.json
就可以。需要在前端中显示版本号时,使用 tauri api getVersion而不是VITE_APP_VERSION
。
- 编译新版本
在编译之前,记得要先在命令行中设置环境变量TAURI_PRIVATE_KEY
和TAURI_KEY_PASSWORD
,这样才能生成应用签名。
- 复制安装包到文件服务器
在tauri.conf.json
中的tauri.updater部分,我们定义了用来检查更新的 endpoints,格式像这样https://releases.myapp.com/{{target}}/{{arch}}/{{current_version}}
。
这里的{{current_version}}
是当前应用的版本号,{{target}}
是目标平台,{{arch}}
是目标架构。
假设我们当前版本是1.0.1
,目标平台是windows
,架构是x86_64
,那么我们的更新包说明文件地址应该是https://releases.myapp.com/windows/x86_64/1.0.1
。
它的内容是一个 json 对象,包含了新版本的信息,例如:
1 | { |
它描述了当前最新版本就是1.0.1
,app 在启动时,会拉取这个 json 文件,根据version
来判断是否需要更新。
在我们升级时,先不要改动这个文件,先把编译好的安装包上传到https://releases.myapp.com/packages/myapp_1.0.2_x64-setup.nsis.zip
。myapp_1.0.2_x64-setup.nsis.zip.sig
就是signature
,一会儿要用到。
- 添加新版本信息
加完安装包后,我们再修改1.0.1
这个 json 文件,让它升级到1.0.2
。基本上需要修改每一个字段。
1 | { |
注意,这里我们还需要创建一个新文件,内容与上面的一样,取名为1.0.2
。这样1.0.2
版本才能拉取到属于它自己的更新说明文件。
webview 的 UDF 目录
windows 的 webview2 有 UDF 目录,用来存放 local storage、cookie 等数据。
我们可以通过 js api appLocalDataDir来获取这个目录。
通常情况下,这个目录是${$env:localappdata}\${tauri.bundle.identifier}\EBWebView
。
环境变量
如果发现环境变量与设置的不符,请检查是否开启了 vscode 中的Enable Persistent Sessions。vite 会以当前终端的环境变量为准,并不会使用.env 中的环境变量覆盖掉当前终端中的环境变量。
在进行编译时,最好使用系统终端,不要使用vscode自带的终端,防止环境被污染。