跳到内容
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 完成构建,WebView 就会打开,显示你的 Web 应用程序。你可以对你的 Web 应用程序进行更改,如果你的工具支持,WebView 应该会自动更新,就像浏览器一样。

你可以通过右键单击 webview 并点击“检查”或使用 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 设备的地址,你必须在运行 dev 命令之前打开 Xcode,并确保你的设备在 “窗口” > “设备和模拟器” 菜单中通过网络连接。然后,你必须运行 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.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 来开发你的应用程序。这可以通过使用 IDE 而不是命令行工具来帮助你解决一些开发问题。要打开移动 IDE 而不是在连接的设备或模拟器上运行,请使用 --open 标志

npm run tauri [android|ios] dev --open
  • 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 应用程序正在运行,您的设备或模拟器应该会出现在远程设备列表中,您可以点击与您的设备匹配的条目上的 **inspect** 来打开开发者工具。

  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 ignore 文件完全相同,因此您可以忽略任何文件夹或文件

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

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

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

在你的项目仓库中,你**应该**将 src-tauri/Cargo.lock 以及 src-tauri/Cargo.toml 提交到 Git 中,因为 Cargo 使用 lockfile 来提供确定性构建。因此,建议所有应用程序都提交其 Cargo.lock。你**不应该**提交 src-tauri/target 文件夹或其任何内容。


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