开发
现在您已经完成了环境设置,可以准备使用 Tauri 运行您的应用程序了。
如果您正在使用 UI 框架或 JavaScript 打包工具,通常可以使用开发服务器来加速开发进程。如果您尚未配置应用的开发 URL 和启动脚本,可以通过 devUrl 和 beforeDevCommand 配置项进行设置。
{ "build": { "devUrl": "https://:3000", "beforeDevCommand": "npm run dev" }}否则,如果您没有使用 UI 框架或模块打包器,您可以直接指向您的前端源代码,Tauri CLI 将为您启动一个开发服务器。
{ "build": { "frontendDist": "./src" }}请注意,在此示例中,src 文件夹必须包含一个 index.html 文件,以及前端加载的其他资源。
要开发桌面应用程序,请运行 tauri dev 命令。
npm run tauri devyarn tauri devpnpm tauri devdeno task tauri devbun tauri devcargo tauri dev首次运行此命令时,Rust 包管理器可能需要几分钟来下载并构建所有必要的依赖包。由于这些包会被缓存,后续的构建速度会快得多,因为只需重新构建您的代码即可。
Rust 构建完成后,Webview 将会打开并显示您的 Web 应用。您可以对 Web 应用进行更改,如果您的工具链支持,Webview 将会自动更新,就像在浏览器中一样。
您可以通过在 Webview 上右键点击并选择“检查(Inspect)”,或者在 Windows 和 Linux 上使用 Ctrl + Shift + I 快捷键,在 macOS 上使用 Cmd + Option + I 快捷键来打开 Web 检查器以调试您的应用程序。
移动端开发与桌面端类似,但您需要运行 tauri android dev 或 tauri ios dev。
npm run tauri [android|ios] devyarn tauri [android|ios] devpnpm tauri [android|ios] devdeno task tauri [android|ios] devbun tauri [android|ios] devcargo tauri [android|ios] dev首次运行此命令时,Rust 包管理器可能需要几分钟来下载并构建所有必要的依赖包。由于这些包会被缓存,后续的构建速度会快得多,因为只需重新构建您的代码即可。
移动端的开发服务器工作方式与桌面端类似。但是,如果您要在真实的 iOS 设备上进行测试,必须将其配置为监听 Tauri CLI 提供的特定地址,该地址定义在 TAURI_DEV_HOST 环境变量中。此地址可以是公共网络地址(默认行为),也可以是 iOS 设备的实际 TUN 地址——后者更安全,但目前需要通过 Xcode 连接到设备。
要使用 iOS 设备的地址,必须在运行开发命令之前打开 Xcode,并确保在“Window > Devices and Simulators”菜单中设备已通过网络连接。然后,运行 tauri ios dev --force-ip-prompt 来选择 iOS 设备地址(一个以 ::2 结尾的 IPv6 地址)。
为了让开发服务器监听正确的主机地址以便 iOS 设备访问,您必须在配置中根据 TAURI_DEV_HOST 的值进行调整。以下是 Vite 的配置示例。
import { defineConfig } from 'vite';
const host = process.env.TAURI_DEV_HOST;
// https://vite.org.cn/config/export default defineConfig({ clearScreen: false, server: { host: host || false, port: 1420, strictPort: true, hmr: host ? { protocol: 'ws', host, port: 1421, } : undefined, },});有关更多信息,请查阅您所选框架的安装指南。
默认情况下,移动端开发命令会尝试在已连接的设备上运行您的应用程序,如果无法运行,则会提示您选择一个模拟器。若要提前指定运行目标,您可以将设备名称或模拟器名称作为参数传入。
npm run tauri ios dev 'iPhone 15'yarn tauri ios dev 'iPhone 15'pnpm tauri ios dev 'iPhone 15'deno task tauri ios dev 'iPhone 15'bun tauri ios dev 'iPhone 15'cargo tauri ios dev 'iPhone 15'或者,您可以选择使用 Xcode 或 Android Studio 来开发您的应用程序。这有助于通过 IDE 代替命令行工具来排查某些开发问题。要打开移动端 IDE 而不是直接在设备或模拟器上运行,请使用 --open 标志。
npm run tauri [android|ios] dev --openyarn tauri [android|ios] dev --openpnpm tauri [android|ios] dev --opendeno task tauri [android|ios] dev --openbun tauri [android|ios] dev --opencargo tauri [android|ios] dev --open-
iOS
必须使用 Safari 来访问 iOS 应用程序的 Web 检查器。
在 Mac 上打开 Safari,在菜单栏中选择 Safari > 设置,点击 高级,然后勾选 在菜单栏中显示“开发”菜单。
如果您在物理设备上运行,必须在 设置 > Safari > 高级 中启用 Web 检查器。
完成所有步骤后,您应该会在 Safari 中看到一个 开发 菜单,其中列出了已连接的设备和应用程序。选择您的设备或模拟器,然后点击 localhost 即可打开 Safari 开发者工具窗口。
-
Android
Android 模拟器的检查器是默认启用的,但物理设备必须手动启用。将 Android 设备连接到电脑,打开设备上的 设置 应用,选择 关于手机,找到“版本号”并点击 7 次。这将为您开启 Android 设备的开发者模式和 开发者选项 设置。
要启用设备上的应用程序调试功能,您必须进入 开发者选项 设置,打开开发者选项开关,并启用 USB 调试。
Android 的 Web 检查器由 Google Chrome 的 DevTools 驱动,可以通过在电脑上的 Chrome 浏览器中访问
chrome://inspect来使用。如果您的 Android 应用程序正在运行,您的设备或模拟器应该会出现在远程设备列表中,点击对应条目旁边的 inspect 即可打开开发者工具。
- Xcode 构建脚本运行错误
Tauri 通过创建一个执行 Tauri CLI 的构建阶段来挂钩 iOS Xcode 项目,从而将 Rust 源代码编译为在运行时加载的库。此构建阶段在 Xcode 进程上下文中执行,因此可能无法使用 shell 环境中的修改(如 PATH 的添加),因此在使用 Node.js 版本管理器等可能不兼容的工具时需要特别小心。
- 首次执行 iOS 应用时的网络权限提示
首次执行 tauri ios dev 时,您可能会看到 iOS 提示请求权限以查找并连接到本地网络上的设备。该权限是必要的,因为要从 iOS 设备访问开发服务器,必须将其暴露在本地网络中。要允许在设备上运行应用,您必须点击“允许”并重启您的应用程序。
与您的 Webview 实时反映更改类似,tauri dev 会监视您的 src-tauri 文件夹及其在工作空间中的依赖包。当您修改其中的任何内容时,您的应用程序会自动重新构建并重启。
您可以通过在 tauri dev 命令中使用 --no-watch 标志来禁用此行为。
若要忽略对某些文件的监视,您可以创建 .taurignore 文件,其工作方式与标准的 .gitignore 文件相同。
build/src/generated/*.rsdeny.toml.taurignore 文件通常放置在 src-tauri 目录或 Cargo 工作空间的根目录下。目前,tauri dev 会在监视文件夹与 Cargo 工作空间根文件夹的共同祖先路径下的任何位置寻找 .taurignore。
Tauri 的 API 仅在您的应用窗口中生效,因此一旦开始使用这些 API,您将无法再在系统的默认浏览器中打开前端页面。
如果您更喜欢使用浏览器的开发工具,必须配置 tauri-invoke-http,通过 HTTP 服务器来桥接 Tauri API 调用。
在您的项目仓库中,您应该将 src-tauri/Cargo.lock 与 src-tauri/Cargo.toml 一起提交到 git,因为 Cargo 使用锁文件来确保构建的确定性。因此,建议所有应用程序都将 Cargo.lock 纳入版本控制。您不应该提交 src-tauri/target 文件夹或其任何内容。
© 2026 Tauri 贡献者。CC-BY / MIT