项目结构
一个 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