Tauri框架快速入门指南
一、项目目录结构及介绍
Tauri应用程序的典型目录结构设计是为了支持高效的跨平台开发。以下是一个基本的Tauri项目结构概述:
my-tauri-app/
│
├── Cargo.toml <- Tauri应用的核心配置文件,包括依赖项。
├── package.json <- 控制前端构建流程的配置文件,用于JavaScript部分。
├── src/
│ ├── main.rs <- 主要的Rust源码文件,驱动应用逻辑。
│ └── lib.rs <- 可选,用于组织Rust代码的库模块。
├── tauri.conf.json <- Tauri的应用配置文件,定义窗口设置、API集成等。
├── src-tauri/ <- 前端资源(可选),存放特有于Tauri的前端代码或资源配置。
│ ├── index.html <- 应用的入口HTML文件。
│ ├── assets/ <- 静态资源文件夹。
│ └── ...
└── ...
- Cargo.toml: Rust包管理文件,定义了项目依赖和元数据。
- package.json: Node.js项目的配置文件,指定npm脚本和依赖,用于前端构建。
- src/main.rs: 程序的主要入口点,负责启动Tauri应用及后台逻辑。
- tauri.conf.json: 关键配置文件,定义了应用程序的行为,如窗口属性、命令接口等。
二、项目的启动文件介绍
main.rs
main.rs
是Tauri应用的启动点,它包含了应用程序初始化以及主窗口的创建过程。在这个文件中,你可以执行以下操作:
- 引入必要的Tauri API来设置和控制应用行为。
- 使用
.setup()
方法进行应用级别的配置。 - 调用
.run()
函数启动应用并监听事件,比如窗口事件。 - 注册自定义的命令,使得前端JavaScript可以调用后端Rust功能。
示例代码可能像这样:
use tauri::api::path;
use tauri::{CustomMetadata, EventLoopWindowHandle, Manager, PageLoadEvent, RunEvent, Window};
#[tokio::main]
async fn main() {
tauri::Builder::default()
.setup(|app| {
// 自定义应用逻辑
Ok(())
})
.invoke_handler(tauri::generate_handler![your_custom_command])
.on_window_event(|event| match event.window_event() {
PageLoadEvent => { /* ... */ },
_ => (),
})
.run(tauri::Runtime::Browser)
.expect("error while running tauri application");
}
三、项目的配置文件介绍
tauri.conf.json
tauri.conf.json
文件是Tauri应用的重要配置文件,它允许开发者定制应用的各种行为。以下是该文件的一些关键字段:
- window: 定义应用的主窗口属性,如大小、标题、是否可调整大小等。
- build: 指定构建选项,例如打包输出目录、调试模式标志等。
- updater: 更新相关配置,虽然在基础使用中可能不常用。
- plugins: 定义自定义插件及其配置。
- 钓鱼提示: (anti-phishing)配置,用来增强安全性。
- api: 允许注册Rust到JavaScript的命令,实现双端通信。
示例配置片段:
{
"windows": [
{
"title": "我的Tauri应用",
"width": 800,
"height": 600
}
],
"build": {
"bundle": true,
"devPath": "./dist/",
"distDir": "./dist/",
"asar": false
},
"api": {
"myCommand": {
"description": "这是一个示例命令"
}
}
}
以上是对Tauri项目核心组成部分的一个简明介绍,通过理解和配置这些组件,你可以有效地开发出跨平台的桌面应用。