可以基于 tauri 开发构建全平台的应用,和 electron 的发布版本动辄百兆不同,tauri 是基于 rust 的,发布版本可以做到几兆大小
tauri 本质上是一个轻量级桌面应用壳,通过前端技术做界面展示,因此 tauri 开发也是需要 node 环境的,但是发布版本的时候不会打包浏览器内核
本地开发需要 node 环境正常,rust 安装通过https://rust-lang.org/tools/install/进行下载安装
项目前端如果是纯静态html/css/js,也可以不需要 node 环境,通过下载cargo install tauri-cli,使用cargo tauri build进行构建打包应用
主流的前端开发都是基于现代框架(react、vue等),所有 node 环境还是必须的,基于 node 环境的话,就可以不需要手动安装tauri-cli了
下面通过一个例子,来快速熟悉整个构建流程
1、通过pnpm create tauri-app新建一个 tauri 项目,全部默认就可以
创建的项目有两部分代码,src是前端的代码,src-tauri是应用壳的 tauri 代码
并且在依赖关系这里也可以看到,提供了基于 node 生态的 tauri 开发工具链,负责构建、打包、运行后端的 rust 代码部分
2、通过pnpm install安装依赖,这个和 node 项目一致,没什么区别
3、本地开发运行pnpm run tauri dev,编译生成一个 debug 版本的执行文件,然后将执行文件运行起来
4、编译发布版本pnpm run tauri build,这个命令会编译 release 版本的执行文件,并且生成msi和nsis两种类型的安装包
5、下面来删除 target 目录,先将前端代码构建出来,然后再使用 cargo 命令进行打包执行文件(需要先手动安装 tauri-cli)
首先通过pnpm run build打包生成前端的 dist 目录
而tauri.conf.json配置指示了前端代码目录为../dist,由于 build 配置还有前置的 pnpm 命令,因此可以删除其他的 pnpm 命令只保留 frontendDist 配置
接着 cd 到src-tauri目录下,再通过原生命令cargo tauri build进行打包构建,一样生成了msi和nsis两种类型的安装包