本文档概述了 Tauri 的仓库结构,重点介绍了代码库的组织、主要 crate、包及其关系。它解释了不同组件如何协同工作形成完整的 Tauri 框架。
有关核心架构的信息,请参阅 核心架构。
Tauri 的仓库被组织成几个关键目录
来源
Rust 组件被组织成多个 crate,每个 crate 都有特定的职责
来源
提供创建 Tauri 应用程序核心 API 的主 crate。它包括
来源
定义了 Tauri 用于与底层窗口和 webview 系统交互的运行时接口。这个抽象允许 Tauri 潜在地支持不同的 webview 实现。
来源
使用 Wry(一个跨平台 WebView 库)实现的 tauri-runtime 接口。这个 crate 负责实际的窗口和 webview 创建。
来源
包含 Tauri Crates 中使用的实用函数和数据结构,包括
来源
Tauri 的命令行界面。这个 crate 提供了创建、开发和构建 Tauri 应用程序的命令。
来源
处理 Tauri 应用程序在不同平台上的打包,包括
来源
Tauri 提供 JavaScript 包,以便从 Web 应用程序与 Tauri 核心进行交互
来源
用于从 Web 应用程序与 Tauri 交互的 JavaScript API。它包括
来源
Rust CLI 的 JavaScript 包装器,允许从 Node.js 执行 Tauri 命令
来源
Tauri 应用程序使用 JSON 配置文件进行配置,通常命名为 tauri.conf.json
配置文件架构定义在
来源
来源
Tauri 跨组件保持严格的版本控制以确保兼容性
| 组件 | 当前版本 | 文件 |
|---|---|---|
| tauri | 2.5.0 | crates/tauri/Cargo.toml |
| tauri-runtime | 2.6.0 | crates/tauri-runtime-wry/Cargo.toml |
| tauri-runtime-wry | 2.6.0 | crates/tauri-runtime-wry/Cargo.toml |
| tauri-utils | 2.4.0 | crates/tauri/Cargo.toml |
| tauri-cli | 2.5.0 | crates/tauri-cli/Cargo.toml |
| tauri-bundler | 2.4.0 | crates/tauri-bundler/Cargo.toml |
| @tauri-apps/api | 2.5.0 | packages/api/package.json |
| @tauri-apps/cli | 2.5.0 | packages/cli/package.json |
来源
这个 tauri crate 被组织成几个关键模块
来源
这个 tauri-runtime-wry crate 为 Wry 实现运行时接口
来源
Tauri 包含示例应用程序来演示用法
API 示例演示了如何使用 Tauri API,并作为参考实现
examples/api/
├── src/ # Frontend code
├── src-tauri/ # Rust backend code
│ ├── Cargo.toml # Rust dependencies
│ ├── tauri.conf.json # Tauri configuration
│ └── src/main.rs # Entry point
└── package.json # NPM dependencies
来源
Tauri 使用 Rust 的 Cargo 和 JavaScript 包管理器相结合
来源
构建过程由 tauri-cli crate 协调,它