Tauri打包配置及报错处理
创建应用
pnpm create tauri-app
打包
修改tauri.conf.json
Error You must change the bundle identifier in `tauri.conf.json > tauri > bundle > identifier`. The default value `com.tauri.dev` is not allowed as it must be unique across applications.
改成这个
"identifier": "com.tauri.build",
failed to get `serde` as a dependency of package `app v0.0.0
常见报错处理
下载这个
github.com/wixtoolset/…
我们把“github.com/wixtoolset/…“这个链接的压缩包下载到本地。然后在C:\Users\你的用户名\AppData\Local下找到tauri文件夹,如果没有则创建一个名为tauri的文件夹,在文件夹内再创建一个WixTools目录,将下载的压缩包解压到这个文件夹里面(创建依赖包路径: C:\Users\用户\AppData\Local\tauri\WixTools)。然后再回到VSCode运行打包命令。这个时候就可以打包成功了。
打包成功后,打开打包生成的目录,就可以看到一个.msi后缀结尾的安装文件tauri-app_0.0.0_x64_en-US.msi(scr-tauri/target/release/bundle/msi/tauri-app_0.0.0_x64_en-US.msi),双击就可以安装了。还有一个可执行包tauri-app.exe(scr-tauri/target/release/tauri-app.exe)。至此,整个创建到打包的流程就完成了。
Windows下Rust安装x86_64-pc-windows-gnu版本
Rust官网:rust-lang.org
打开 rust.init
直接安装
rustup toolchain install stable-x86_64-pc-windows-gnu
下载完成后
rustup default stable-x86_64-pc-windows-gnu
再次报错
cargo update
cargo clean
cargo build
安装
1. Microsoft Visual Studio C++ 生成工具
您需要安装 Microsoft C++ 生成工具。 最简单的方法是下载 Visual Studio 2022 生成工具。 进行安装选择时,请勾选 “C++ 生成工具” 和 Windows 10 SDK。
列表 1-1:使用 Visual Studio 生成工具 2022 安装程序,并勾选 “C++ 构建工具” 和 “Windows 10 SDK”。
隐藏边框
编辑tauri.conf.json, 设置decorations: false隐藏自己的边框了栏
{
"windows": [
{
"decorations": false,
...
}
]
}
定义自己的顶栏
<!-- 注:通过设置“data-tauri-drag-region”注册拖动区域-->
<div data-tauri-drag-region class="titlebar">
<div class="titlebar-button" id="titlebar-minimize">
<img
src="https://api.iconify.design/mdi:window-minimize.svg"
alt="minimize"
/>
</div>
<div class="titlebar-button" id="titlebar-maximize">
<img
src="https://api.iconify.design/mdi:window-maximize.svg"
alt="maximize"
/>
</div>
<div class="titlebar-button" id="titlebar-close">
<img src="https://api.iconify.design/mdi:close.svg" alt="close" />
</div>
</div>
绑定js方法
import { appWindow } from '@tauri-apps/api/window'
document
.getElementById('titlebar-minimize')
.addEventListener('click', () => appWindow.minimize())
document
.getElementById('titlebar-maximize')
.addEventListener('click', () => appWindow.toggleMaximize())
document
.getElementById('titlebar-close')
.addEventListener('click', () => appWindow.close())
查看帮助
npx @tauri-apps/tauricon --help
Description
Create all the icons you need for your Tauri app.
"ICON-PATH" is the path to the source icon (default: 'app-icon.png').
The icon needs to be either png (1240x1240 with transparency) or svg (square dimensions with transparency).
Usage
$ tauricon [ICON-PATH]
Options
--help, -h Displays this message
--log, l Logging [boolean]
--target, t Target folder (default: 'src-tauri/icons')
** 生成好的图标默认放在 src-tauri/icons 目录下,在构建时包含在应用程序中。**
如果需要从其他位置获取图标,则可以编辑 src-tauri/tauri.conf.json 的以下部分:
{
"tauri": {
"bundle": {
"icon": [
"icons/32x32.png",
"icons/128x128.png",
"icons/128x128@2x.png",
"icons/icon.icns",
"icons/icon.ico"
]
}
}
}
rust 加速update crates.io
在 $HOME/.cargo/config 需要新建config
# 放到 `$HOME/.cargo/config` 文件中
[source.crates-io]
#registry = "https://github.com/rust-lang/crates.io-index"
# 替换成你偏好的镜像源
replace-with = 'ustc'
#replace-with = 'sjtu'
# 清华大学
[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"
# 中国科学技术大学
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"
# 上海交通大学
[source.sjtu]
registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index"
# rustcc社区
[source.rustcc]
registry = "git://crates.rustcc.cn/crates.io-index"
原文链接:https://juejin.cn/post/7342480215532224522 作者:微芒不朽