
Tauri 完整上手指南3 步从零搭出可打包的桌面应用【免费下载链接】tauriBuild smaller, faster, and more secure desktop and mobile applications with a web frontend.项目地址: https://gitcode.com/GitHub_Trending/ta/tauriTauri 是一个用 Rust Web 技术栈构建桌面应用也支持移动端的框架界面用你熟悉的 HTML/CSS/JS 写系统能力交给 Rust最终产出一个体积很小的原生安装包。这篇指南不讲概念堆砌而是沿着「装好工具 → 生成项目 → 跑起来 → 打包」这条线用最少必要的命令把一个能分发的 Tauri 应用完整走一遍并附上新手最常卡住处的排查方法。先弄清 Tauri 在跑什么1 个 Rust 进程 1 个系统 WebView理解 Tauri 只需要一张心智图你的程序是一个 Rust 编译出的进程界面则渲染在操作系统自带的 WebView 里——Windows 上是 WebView2macOS 上是 WKWebViewLinux 上是 webkit2gtk。这正是它区别于其他 Electron 系方案的地方不往应用里塞一份浏览器内核所以安装包能压到很小同时二进制是 Rust 编译产物逆向成本也更高。代价是 Linux 系统必须预先装好webkit2gtk-4.1这类开发库后面装环境时脚本会帮你处理。代码层面核心逻辑在crates/tauri/运行时抽象在crates/tauri-runtime/配置解析和平台工具在crates/tauri-utils/想深入时可以看仓库根目录的ARCHITECTURE.md。一条命令装齐 Rust 工具链和系统依赖Tauri 官方提供了安装脚本它会按你的操作系统自动装好 Rust 工具链和对应的 WebView 依赖比手动逐个装省心# WindowsPowerShell # iex { (New-Object Net.WebClient).DownloadString(https://install.tauri.app/install.ps1) } # macOS / Linux curl --proto https --tlsv1.2 -sSf https://install.tauri.app/sh | sh跑完后用rustc --version和node -v各确认一次两者都有输出就说明环境就绪。如果脚本中途失败通常是网络问题稍后「卡住了」一节有手动兜底方案。30 秒用 create-tauri-app 生成可运行的项目脚手架create-tauri-app会交互式地问你四个问题项目名、前端框架Vanilla / Vue / React / Svelte 等任选、包管理器、是否立即装依赖。选完直接启动npm create tauri-applatest my-app # yarn / pnpm 用户有对应写法 cd my-app npm run tauri devtauri dev会同时拉起前端开发服务器和 Rust 端几秒后弹出一个原生窗口。之后你在前端改任何代码窗口里的页面都会热更新但 Rust 端的改动需要重新编译才会生效——这是开发期唯一需要记住的不对称行为。10 秒定位你最需要知道的 3 个文件项目结构其实就两半前端代码任何 Web 框架的组织方式都行和src-tauri/目录Rust 后端。真正高频接触的文件只有三个src-tauri/tauri.conf.json—— 唯一的核心配置窗口尺寸标题、前端产物路径、安全策略、打包选项都在这。它是编译期读取的改了要重新编译编辑器会按crates/tauri-cli/tauri.config.schema.json给的 schema 做校验和补全跟着提示写基本不会错。src-tauri/Cargo.toml—— Rust 依赖清单加原生能力就在这里声明 crate。src-tauri/src/main.rs—— Rust 入口应用在这里启动自定义命令也在这里注册。一份典型配置长这样对照看一遍就知道每个字段管什么{ productName: my-app, version: 0.1.0, identifier: com.example.myapp, build: { frontendDist: ../dist }, app: { windows: [{ title: My App, width: 800, height: 600 }], security: { csp: default-src self } } }其中frontendDist指向前端构建产物目录security.csp限制页面能加载哪些来源。想看真实项目怎么写可以克隆仓库后翻examples/目录里面有 helloworld、状态管理、流式通信等十几个小样例git clone https://gitcode.com/GitHub_Trending/ta/tauri前端调用 Rust 后端的最短路径Tauri 的 IPC 模型是「Rust 定义命令前端调用命令」。Rust 侧只需要两步给普通函数加上#[tauri::command]属性再把它挂到 Builder 的.invoke_handler(tauri::generate_handler![greet])上。前端侧就是一行await invoke(greet, { name: Tauri })参数名要与 Rust 函数形参一一对应。有两点值得留意一是命令名在 Rust 端用下划线风格、前端会自动做驼峰转换二是 Tauri 2.x 默认「权限拒绝优先」自定义命令要在src-tauri/capabilities/的能力文件里声明后前端才能调用忘了这一步会报无权限错误看起来像调用写错了实际是安全策略拦下的。一条命令产出三大平台的安装包开发完成后构建发布版的命令是npm run tauri build它会先编译 release 版 Rust 二进制再由打包器按平台生成安装包产物落在src-tauri/target/release/bundle/下Windows 得到.msi和 NSIS 安装的.exemacOS 得到.app与.dmgLinux 得到.deb、.rpm和.AppImage。打包逻辑全部在crates/tauri-bundler/里想改图标、自定义安装器行为改的也是tauri.conf.json的bundle段。卡住了先查这 3 处新手 90% 的问题集中在这三个地方按序排查基本都能解决依赖装不上多半是脚本没跑完或 Rust 工具链缺失。手动兜底curl --proto https --tlsv1.2 -sSf https://sh.rustup.rs | sh装 RustLinux 上再用包管理器补libwebkit2gtk-4.1-dev、libgtk-3-dev等开发库。窗口是白的 / 找不到页面九成是前端产物对不上。确认前端已执行构建、tauri.conf.json里的frontendDist指向真实存在的目录tauri dev场景下再检查 dev server 地址和端口是否被前端框架改过比如 Vite 默认 5173框架换了端口就要在配置里同步。invoke报命令不存在或无权限先确认 Rust 端的命令真的注册进了invoke_handler还报错的话去capabilities/里给该命令补权限声明。走完这一遍你手上已经有了环境、跑通的项目、可改的配置和一个可分发的安装包。下一步建议直接打开仓库里的examples/挑一个离你需求最近的样例照着改比继续读文档更快。【免费下载链接】tauriBuild smaller, faster, and more secure desktop and mobile applications with a web frontend.项目地址: https://gitcode.com/GitHub_Trending/ta/tauri创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考