开发
现在你已经设置好了一切,可以开始使用 Tauri 运行你的应用程序了。
如果你正在使用 UI 框架或 JavaScript 打包器,你很可能可以使用开发服务器来加速你的开发过程。如果你还没有配置应用程序的开发 URL 和启动脚本,可以通过 devUrl 和 beforeDevCommand 配置值进行设置。
{ "build": { "devUrl": "https://:3000", "beforeDevCommand": "npm run dev" }}
否则,如果你没有使用 UI 框架或模块打包器,你可以将 Tauri 指向你的前端源代码,Tauri CLI 将为你启动一个开发服务器。
{ "build": { "frontendDist": "./src" }}
请注意,在此示例中,src
文件夹必须包含一个 index.html
文件以及前端加载的任何其他资产。
要为桌面开发应用程序,请运行 tauri dev
命令。
npm run tauri dev
yarn tauri dev
pnpm tauri dev
deno task tauri dev
bun tauri dev
cargo tauri dev
第一次运行此命令时,Rust 包管理器可能需要**几分钟**来下载并构建所有必需的包。由于它们已被缓存,随后的构建速度会快很多,因为只需要重新构建你的代码。
一旦 Rust 完成构建,WebView 就会打开,显示你的 Web 应用程序。你可以对你的 Web 应用程序进行更改,如果你的工具支持,WebView 应该会自动更新,就像浏览器一样。
你可以通过右键单击 webview 并点击“检查”或使用 Windows 和 Linux 上的 Ctrl + Shift + I
快捷键或 macOS 上的 Cmd + Option + I
快捷键来打开 Web 检查器以调试你的应用程序。
移动开发与桌面开发类似,但你需要运行 tauri android dev
或 tauri ios dev
。
npm run tauri [android|ios] dev
yarn tauri [android|ios] dev
pnpm tauri [android|ios] dev
deno task tauri [android|ios] dev
bun tauri [android|ios] dev
cargo 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'
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 --open
yarn tauri [android|ios] dev --open
pnpm tauri [android|ios] dev --open
deno task tauri [android|ios] dev --open
bun tauri [android|ios] dev --open
cargo 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** 来打开开发者工具。
- Xcode 上运行构建脚本出错
Tauri 通过创建一个构建阶段来与 iOS Xcode 项目挂钩,该阶段执行 Tauri CLI 将 Rust 源编译为在运行时加载的库。构建阶段在 Xcode 进程上下文中执行,因此可能无法使用 shell 修改,例如 PATH 添加,因此在使用 Node.js 版本管理器等可能不兼容的工具时要小心。
- 首次执行 iOS 应用时出现网络权限提示
第一次执行 tauri ios dev
时,你可能会看到 iOS 提示你允许查找并连接本地网络上的设备。此权限是必需的,因为要从 iOS 设备访问你的开发服务器,我们必须将其暴露在本地网络中。要在你的设备上运行应用程序,你必须点击“允许”并重新启动你的应用程序。
与您的 WebView 实时反映更改类似,Tauri 会监视您的 Rust 文件是否发生更改,因此当您修改其中任何一个文件时,您的应用程序会自动重建并重新启动。
你可以通过在 tauri dev
命令上使用 --no-watch
标志来禁用此行为。
要限制受监控的文件,您可以在 src-tauri 文件夹中创建 .taurignore
文件。此文件的工作方式与常规 Git ignore 文件完全相同,因此您可以忽略任何文件夹或文件
build/src/generated/*.rsdeny.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