跳转到内容
Tauri

项目结构

一个 Tauri 项目通常由两部分组成:一个 Rust 项目和一个 JavaScript 项目(可选)。 典型的项目结构如下所示:

.
├── package.json
├── index.html
├── src/
│ ├── main.js
├── src-tauri/
│ ├── Cargo.toml
│ ├── Cargo.lock
│ ├── build.rs
│ ├── tauri.conf.json
│ ├── src/
│ │ ├── main.rs
│ │ └── lib.rs
│ ├── icons/
│ │ ├── icon.png
│ │ ├── icon.icns
│ │ └── icon.ico
│ └── capabilities/
│ └── default.json

在这种情况下,JavaScript 项目位于顶层目录,而 Rust 项目则位于 src-tauri/ 文件夹内。 这个 Rust 项目是一个标准的 Cargo 项目但包含了一些额外的文件:

  • tauri.conf.json 是 Tauri 的主要配置文件,其中包含了从应用标识符到开发服务器 URL 的所有配置。 该文件也是 Tauri CLI 查找 Rust 项目的标记文件。 如需了解更多信息,请参阅 Tauri 配置
  • capabilities/ 目录是 Tauri 默认读取能力(Capability)文件的文件夹(简而言之,你需要在此处允许命令,才能在 JavaScript 代码中使用它们)。 如需了解更多信息,请参阅安全
  • icons/ 目录是 tauri icon 命令的默认输出目录,通常在 tauri.conf.json > bundle > icon 中引用,用于设置应用的图标。
  • build.rs 包含 tauri_build::build(),用于 Tauri 的构建系统。
  • src/lib.rs 包含 Rust 代码和移动端入口点(标记为 #[cfg_attr(mobile, tauri::mobile_entry_point)] 的函数)。 我们不直接在 main.rs 中编写代码的原因是,在移动端构建中,你的应用会被编译为库,并通过平台框架加载。
  • src/main.rs 是桌面端的主入口点,我们在 main 函数中调用 app_lib::run(),以使用与移动端相同的入口点。 因此,为了简化操作,请勿修改此文件,而是修改 lib.rs。请注意,app_lib 对应 Cargo.toml 中的 [lib.name]

Tauri 的工作方式类似于静态网站托管服务。其构建过程是:首先将 JavaScript 项目编译为静态文件, 然后编译 Rust 项目并将这些静态文件打包进去。 因此,JavaScript 项目的设置与构建静态网站时基本相同。 如需了解更多信息,请参阅前端配置

如果你只想使用 Rust 代码,只需移除其他所有内容,并将 src-tauri/ 文件夹作为你的顶级项目,或作为 Rust 工作区的成员即可。


© 2025 Tauri Contributors. CC-BY / MIT