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自带的终端,防止环境被污染。