跳到内容
Tauri

开发

既然您已经完成所有设置,您就可以使用 Tauri 运行您的应用程序了。

如果您正在使用 UI 框架或 JavaScript 打包器,您可能可以访问一个开发服务器,这将加快您的开发过程,因此如果您尚未配置应用程序的开发 URL 和启动它的脚本,您可以通过 devUrlbeforeDevCommand 配置值来完成

tauri.conf.json
{
"build": {
"devUrl": "http://localhost:3000",
"beforeDevCommand": "npm run dev"
}
}

否则,如果您没有使用 UI 框架或模块打包器,您可以将 Tauri 指向您的前端源代码,Tauri CLI 将为您启动一个开发服务器

tauri.conf.json
{
"build": {
"frontendDist": "./src"
}
}

请注意,在本例中,src 文件夹必须包含一个 index.html 文件以及您的前端加载的任何其他资源。

开发您的桌面应用程序

要为桌面开发您的应用程序,请运行 tauri dev 命令。

npm run tauri dev

首次运行此命令时,Rust 包管理器可能需要几分钟来下载和构建所有必需的包。由于它们被缓存,因此后续构建速度会快得多,因为只需要重建您的代码。

Rust 完成构建后,webview 将打开,显示您的 Web 应用程序。您可以更改您的 Web 应用程序,如果您的工具支持,webview 应该会自动更新,就像浏览器一样。

打开 Web 检查器

您可以打开 Web 检查器来调试您的应用程序,方法是在 webview 上单击鼠标右键并单击“检查”,或使用 Windows 和 Linux 上的 Ctrl + Shift + I 快捷键或 macOS 上的 Cmd + Option + I 快捷键。

开发您的移动应用程序

移动开发与桌面开发类似,但您必须运行 tauri android devtauri ios dev 代替

npm run tauri [android|ios] dev

首次运行此命令时,Rust 包管理器可能需要几分钟来下载和构建所有必需的包。由于它们被缓存,因此后续构建速度会快得多,因为只需要重建您的代码。

开发服务器

移动设备上的开发服务器的工作方式与桌面设备类似,但如果您尝试在物理 iOS 设备上运行,则必须将其配置为侦听 Tauri CLI 提供的特定地址,该地址在 TAURI_DEV_HOST 环境变量中定义。此地址可以是公共网络地址(这是默认行为),也可以是实际的 iOS 设备 TUN 地址 - 这更安全,但目前需要 Xcode 连接到设备。

要使用 iOS 设备的地址,您必须在运行 dev 命令之前打开 Xcode,并确保您的设备通过网络连接到“窗口”>“设备和模拟器”菜单中。然后您必须运行 tauri ios dev --force-ip-prompt 以选择 iOS 设备地址(以 ::2 结尾的 IPv6 地址)。

为了使您的开发服务器侦听正确的 host 以便 iOS 设备可以访问,您必须调整其配置以使用 TAURI_DEV_HOST 值(如果已提供)。以下是 Vite 的示例配置

import { defineConfig } from 'vite';
const host = process.env.TAURI_DEV_HOST;
// https://vite.vuejs.ac.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'

使用 Xcode 或 Android Studio

或者,您可以选择使用 Xcode 或 Android Studio 来开发您的应用程序。这可以通过使用 IDE 而不是命令行工具来帮助您解决一些开发问题。要打开移动 IDE 而不是在连接的设备或模拟器上运行,请使用 --open 标志

npm run tauri [android|ios] dev --open

打开 Web 检查器

  • iOS

    必须使用 Safari 访问 iOS 应用程序的 Web 检查器。

    在您的 Mac 计算机上打开 Safari,在菜单栏中选择Safari > 设置,单击高级,然后选择在菜单栏中显示“开发”菜单

    如果您在物理设备上运行,则必须在设置 > Safari > 高级中启用 Web 检查器

    完成所有步骤后,您应该在 Safari 中看到一个开发菜单,您将在其中找到要检查的连接设备和应用程序。在您的设备或模拟器上选择,然后单击 localhost 以打开 Safari 开发者工具窗口。

  • Android

    检查器默认情况下对 Android 模拟器启用,但您必须为物理设备启用它。将您的 Android 设备连接到计算机,打开 Android 设备中的设置应用,选择关于手机,滚动到“版本号”并点击 7 次。这将为您的 Android 设备启用开发者模式和开发者选项设置。

    要在您的设备上启用应用程序调试,您必须进入开发者选项设置,打开开发者选项开关并启用 USB 调试

    Android 的 Web 检查器由 Google Chrome 的 DevTools 提供支持,可以通过在 Chrome 浏览器中导航到 chrome://inspect 来访问。如果您的 Android 应用程序正在运行,您的设备或模拟器应显示在远程设备列表中,您可以通过单击设备上的检查来打开开发者工具。

故障排除

  1. 在 Xcode 上运行构建脚本时出错

Tauri 通过创建一个构建阶段来挂钩到 iOS Xcode 项目,该构建阶段执行 Tauri CLI 以将 Rust 源代码编译为运行时加载的库。构建阶段在 Xcode 进程上下文中执行,因此它可能无法使用 shell 修改(例如 PATH 添加),因此在使用 Node.js 版本管理器等工具时要小心,这些工具可能不兼容。

  1. 首次执行 iOS 应用程序时出现网络权限提示

首次执行 tauri ios dev 时,您可能会看到 iOS 提示您请求权限以查找和连接到本地网络上的设备。访问 iOS 设备上的开发服务器需要此权限,我们必须将其暴露在本地网络中。要在您的设备中运行您的应用程序,您必须单击“允许”并重新启动您的应用程序。

对源代码更改做出反应

与您的 webview 实时反映更改的方式类似,Tauri 会监视您的 Rust 文件中的更改,因此当您修改其中任何一个文件时,您的应用程序会自动重建并重新启动。

您可以通过在 tauri dev 命令中使用 --no-watch 标志来禁用此行为。

要限制监视更改的文件,您可以在 src-tauri 文件夹中创建一个 .taurignore 文件。此文件的工作方式与常规 Git 忽略文件完全相同,因此您可以忽略任何文件夹或文件

build/
src/generated/*.rs
deny.toml

使用浏览器 DevTools

Tauri 的 API 仅在您的应用窗口中工作,因此一旦您开始使用它们,您将无法再在系统的浏览器中打开您的前端。

如果您更喜欢使用浏览器的开发者工具,则必须配置 tauri-invoke-http 以通过 HTTP 服务器桥接 Tauri API 调用。

源代码控制

在您的项目存储库中,您应该src-tauri/Cargo.locksrc-tauri/Cargo.toml 一起提交到 git,因为 Cargo 使用 lockfile 来提供确定性构建。因此,建议所有应用程序都签入其 Cargo.lock。您不应提交 src-tauri/target 文件夹或其任何内容。


© 2025 Tauri 贡献者。CC-BY / MIT