Tauri 基本使用
title: Tauri 基本使用 id: 636c9e5675960527c80a62b0d6f28feb tags: [] date: 2000/01/01 00:00:00 updated: 2023/03/09 18:44:10 isPublic: true --#|[分隔]|#--
Tauri 基本使用
Tauri官网:https://tauri.app/
Tauri官网的一些功能示例:https://tauri.app/v1/guides/features/
Tauri的所有配置项:https://tauri.app/v1/api/config
Tauri这个npm库的文档(供页面开发前端时使用):https://tauri.app/v1/api/js/
Tauri这个Rust库的文档(供Rust开发后端时使用):https://crates.io/crates/tauri
Mac系统开发文档(参考):https://developer.apple.com/documentation/technologies?language=objc
基本的说明和安装
打的前提,需要显自行给系统安装安装 Rust 和 Node。
Tauri 是使用Rust开发的,所以需要 Rust。
前端界面使用web那一套,最后编译成静态页面文件就行,所以框架会提供使用 react、vue 的选项,所以也需要 Node 来编译它们。
使用官网提供的npm的安装方式,使用终端进入到桌面,执行官网提供的指令:
npm create tauri-app@latest
执行后会出现选项,我这次的选择见下:
✔ Project name · tauri-app
✔ Choose which language to use for your frontend · TypeScript / JavaScript - (pnpm, yarn, npm)
✔ Choose your package manager · npm
✔ Choose your UI template · React - (https://reactjs.org/)
✔ Choose your UI flavor · TypeScript
然后进入到创建的项目文件夹,文件夹目录如下,其中绿框内的是前端相关的,黄色框的是Tauri的后端开发相关的。
其实也就只 ./src-tauri 中放的是一个Rust项目,里面包含了Rust的项目配置、Rust代码,后端的开发也都是在这个文件夹中进行。
常用指令有下面两个,一个启动一个打包,都是npm指令。
整体来看,这个项目可以理解为:
像是使用前端脚手架生成的一个框架。
表面看上去基于node的npm,启动和打包都是使用 npm 指令。
但使了npm指令后,除了进行正常的前端项目的启动、构建外,还会进入到 ./src-tauri 文件夹中,和Rust进行交互。
启动开发环境
执行:
npm run tauri dev
这个指令,会先启动前端开发的react的开发环境,暴露一个访问地址,再调起Rust,编译Tauri,自动打开软件窗口,最终出现下面的软件窗口界面:
打包成当前系统可用的软件
打包前,需要先修改文件 ./src-tauri/tauri.conf.json 中的 "identifier": "com.tauri.dev"
这一行,把 identifier 字段的值改为其他即可,比如改为 "identifier": "com.abc.abc"
:
// 文件 ./src-tauri/tauri.conf.json 中
{
// ...
"tauri": {
// ...
"bundle": {
// ...
- "identifier": "com.tauri.dev",
+ "identifier": "com.abc.abc",
// ...
}
// ...
}
// ...
}
然后执行:
npm run tauri build
指令会先构建前台项目,生成静态文件放置于 ./dist 文件夹下,再启动Rust的构建功能,执行Tauri打包程序,把./dist文件下的内容连同 ./src-tauri 下的后端功能,一起打包为软件。
等待一段时间,软件打包完成后会放在 ./src-tauri/target/release/bundle 目录下。
我当前系统是 Mac,所以我的这个文件夹下,有 dmg 和 macos 两个文件夹,里面分别放着一个安装包 .dmg 文件可一个可执行的 .app 文件。
所以,如果只是要把一个web项目打包成一个软件,直接用用 Tauri 打包一下就行,都不用了解 Rust 语法。
Last updated
Was this helpful?