基于tauri构建全平台应用

可以基于 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 两种类型的安装包

相关推荐
niyongsheng10 小时前
3D 装箱算法工程化:数据结构、放置启发式与支撑规则
数据结构·算法·rust
Hello.Reader11 小时前
tsrs 技术解析用 Rust 移植 TypeScript 7,类型检查还能怎样提速?
开发语言·rust·typescript
王仔小奶13 小时前
Rust 正在接管金融圈?深度拆解一份高薪 FinTech 岗位 JD
开发语言·金融·rust
不可能片场14 小时前
Electron 发布 cookie 库先查明文再写解密
前端·electron
你为她披上外套时我正站在窗外14 小时前
subtitler v2.10 发布:3 个社区 PR、一个一天修掉的 issue,和关于 uuencode 的真相
rust
Thneonl14 小时前
熔断不是开关是状态机:Claude Code 路由内核的 3 条红线
人工智能·rust
Thneonl14 小时前
一个 Claude Code 本地代理,凭啥配了 3 个观测出口?
人工智能·rust
西风测评17 小时前
终端粘贴原理:bracketed paste、4095 字节行限制与 UTF-8 分片
rust
geovindu20 小时前
rust: Read-Write Lock Pattern
开发语言·后端·设计模式·rust·读写锁模式·同步型模式
怪我冷i20 小时前
Rust智能指针Rc<T> 使用总结
开发语言·后端·rust