跳到内容
Tauri

开发

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

如果您使用的是 UI 框架或 JavaScript 打包工具,通常可以使用开发服务器来加速开发流程。如果您还没有配置应用的开发 URL 和启动脚本,可以通过 devUrlbeforeDevCommand 配置项进行设置。

tauri.conf.json
{
"build": {
"devUrl": "https://: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 构建完成后,Web 视图将打开并显示您的 Web 应用程序。您可以对 Web 应用进行更改,如果您的工具链支持,Web 视图应会自动更新,就像浏览器一样。

您可以通过在 Web 视图上点击右键并选择“检查(Inspect)”,或在 Windows 和 Linux 上使用 Ctrl + Shift + I 快捷键,在 macOS 上使用 Cmd + Option + I 快捷键,来打开 Web 检查器以调试您的应用程序。

移动端开发与桌面端开发类似,但您需要运行 tauri android devtauri ios dev

npm run 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'

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

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

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

    在 Mac 上打开 Safari,在菜单栏中选择“Safari > 设置(Settings)”,点击“高级(Advanced)”,然后选中“显示 Web 开发功能(Show features for web developers)”。

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

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

  • Android

    Android 模拟器的检查器默认是启用的,但对于物理设备,您必须手动启用。将您的 Android 设备连接到电脑,打开 Android 设备上的“设置”应用,选择“关于手机(About)”,向下滚动找到“版本号(Build Number)”并连续点击 7 次。这将为您启用 Android 设备的“开发者模式”和“开发者选项”设置。

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

    Android 的 Web 检查器由 Google Chrome 的 DevTools 提供支持,可以通过在电脑上的 Chrome 浏览器中访问 chrome://inspect 来使用。如果您的 Android 应用程序正在运行,您的设备或模拟器应该出现在远程设备列表中,您可以点击与您的设备匹配的条目旁的“inspect”来打开开发工具。

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

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

  1. 首次执行 iOS 应用时的网络权限提示

当您首次执行 tauri ios dev 时,您可能会看到 iOS 提示您授权以查找并连接到本地网络上的设备。此权限是必须的,因为要从 iOS 设备访问您的开发服务器,必须将其暴露在本地网络上。要在您的设备上运行应用,您必须点击“允许(Allow)”并重启应用程序。

与 Web 视图实时反映更改类似,tauri dev 会监视您的 src-tauri 文件夹及其在工作区中依赖的 crate 的更改,因此每当您修改它们时,您的应用程序都会自动重新构建并重启。

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

若要忽略某些文件的监视,您可以创建 .taurignore 文件,其工作方式与常规的 .gitignore 文件相同。

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

.taurignore 文件通常放置在 src-tauri 目录或 Cargo 工作区根文件夹中。目前,tauri dev 会在监视文件夹与 Cargo 工作区根文件夹的共同祖先路径内的任何位置查找 .taurignore 文件。

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

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

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


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