前言
有时候我们需要创建轻量级桌面应用程序,特别是一些工具类的程序,一般来说,可以用 Electron 和前端技术来实现,在多年前,我就做过一个人事数据处理项目,当时用的就是 Electron + ng 来实现的。但 Electron 做出来的程序体积都很大,也比较占内存。本文介绍用 Tauri 来替代 Electron,Tauri 是用Rust 编写的项目,自然有着 Rust 方面内存,安全方面的优势。
环境安装
安装 Rust
curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
. "$HOME/.cargo/env"
Cargo 国内源
vim ~/.cargo/config.toml
# 内容如下:
[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
replace-with = 'rsproxy-sparse'
[source.rsproxy]
registry = "https://rsproxy.cn/crates.io-index"
[source.rsproxy-sparse]
registry = "sparse+https://rsproxy.cn/index/"
[registries.rsproxy]
index = "https://rsproxy.cn/crates.io-index"
[net]
git-fetch-with-cli = true
查看安装
安装 macOS 命令行工具
xcode-select --install
设置 pnpm 国内源
pnpm config set registry https://registry.npmmirror.com
创建 Tauri 桌面程序
创建应用程序
pnpm create tauri-app
安装依赖包
# 先 cd 进入到应用程序目录
pnpm install
运行
pnpm tauri dev
如果出现这个错误:error[E0412]: cannot find type Command
in module crate::api::process
,试试修改 src-tauri/tauri.conf.json 如下:
正常运行如下:
运行的效果如下:
打包
修改 identifier
不修改打包会出错。
打包
# 生成基于本地平台环境的程序,生成好的程序在 src-tauri/target 目录下
pnpm tauri build
## 生成基于 Intel 的 Mac 上运行的程序
rustup target add x86_64-apple-darwin
pnpm run tauri build -- --target x86_64-apple-darwin