人人都会AI编程

前端源码目录、Rust 核心目录、配置文件说明

更新时间:2026-07-11

创建 Tauri 项目后,你会看到一个分层的目录结构。它清晰地把“前端界面”和“Rust 后端”分隔开,让双方可以独立开发、调试和打包。


1. 前端源码目录(默认是根目录下的 src/

前端部分的文件结构和传统 Web 项目完全一致。如果你用 create-tauri-app 并选择了 Vite + React/Vue/Svelte,目录看起来就是:

my-app/
├── src/
│   ├── App.vue (或 .jsx)
│   ├── main.js
│   ├── assets/
│   └── ...
├── index.html          # 入口 HTML
├── package.json        # 前端依赖
├── vite.config.ts      # 构建配置
└── ...
  • src/:你的 UI 代码全放在这里,包括组件、路由、样式等。
  • index.html:这是 WebView 真正加载的页面,也是 Tauri 窗口显示的起点。
  • 构建工具:Tauri 不限制你用什么打包工具,Vite、Webpack、Parcel 都可以。构建产物(通常是 dist/)最终会被 Tauri 嵌到原生壳中。

实用提示:你完全可以把一个已有的 Vue/React 项目改造成 Tauri 应用,只需新增一个 src-tauri/ 目录,并让 Tauri 的配置指向你的 dist 即可。


2. Rust 核心目录(src-tauri/

这是 Tauri 应用真正的“后台”。所有与操作系统交互的逻辑、窗口管理、IPC 命令都住在这里。创建项目后你会看到:

src-tauri/
├── Cargo.toml          # Rust 工程的依赖与元信息
├── tauri.conf.json     # Tauri 的“总控”配置
├── build.rs            # 构建脚本(通常无需修改)
├── icons/              # 应用图标(打包时使用)
└── src/
    ├── main.rs         # Rust 入口,启动 Tauri 应用
    └── lib.rs          # 注册自定义命令、插件的库文件
  • src/main.rs:应用启动文件。一般只包含一行 tauri::Builder::default().run(tauri::generate_context!()).expect("...") ,保证应用能跑起来。
  • src/lib.rs:在这里用 #[tauri::command] 定义可以被前端调用的函数,并通过 .invoke_handler(tauri::generate_handler![my_command]) 注册它们。
  • Cargo.toml:管理 Rust 依赖,例如你用到的 serdetokiotauri-plugin-* 等。需要原生能力时(如操作数据库、调用系统 API),就在这儿添加 crate。

真实体验:即使你不写 Rust 代码,也可以只用 Tauri 的插件(如 tauri-plugin-fstauri-plugin-shell)来获得文件系统、执行命令等能力。零 Rust 也能用,但懂一点 Rust 会让你的应用能力大幅提升。


3. 核心配置文件说明

tauri.conf.json

这是整个 Tauri 应用的神经中枢,位于 src-tauri/tauri.conf.json。常用字段如下:

  • build:告诉 Tauri 前端构建产物的位置和开发服务器端口。
  "build": {
    "devUrl": "http://localhost:5173",  // 开发时的前端地址
    "frontendDist": "../dist"           // 构建后的产物目录(相对于配置文件)
  }
  
  • tauri:窗口外观与行为设置。
  "tauri": {
    "windows": [{
      "title": "我的应用",
      "width": 800,
      "height": 600,
      "resizable": true
    }],
    "security": {
      "csp": "default-src 'self'"  // 内容安全策略
    }
  }
  
  • bundle:打包配置,决定最终生成的安装包格式。
  "bundle": {
    "active": true,
    "targets": ["msi", "nsis"],  // Windows 下生成 MSI 和 NSIS 安装包
    "icon": ["icons/32x32.png", ...]
  }
  
  • plugins:声明你要使用哪些 Tauri 插件(如通知、文件系统)。

最常用的一点:修改 identifier(应用唯一 ID)和 app.windows[0].title 就能让你的应用有自己的“身份”。打包前别忘了在 tauri.conf.json 里配置好 bundle.targets,决定你最终交付的是 .exe 还是 .msi

Cargo.toml

这个文件不是 Tauri 专属,而是 Rust 项目的标准配置。但在这里你需要特别关注:

  • [dependencies] 中是否有 tauri 和相关插件。
  • 版本号建议和 Tauri CLI 保持一致,避免兼容问题。

一句话总结src/ 管界面,src-tauri/src/ 管后台,tauri.conf.json 把二者缝合在一起,并决定打包格式。三个目录各司其职,结构简洁,极易上手。