跳至主要内容

配置文件

由于 Tauri 是用于构建应用程序的工具包,因此可能会有许多文件来配置项目设置。你可能会遇到的常见文件包括 tauri.conf.jsonpackage.jsonCargo.toml。我们在此页面上简要解释每个文件,以帮助你了解要修改哪个文件。

Tauri 配置

该文件可以是 tauri.conf.jsontauri.conf.json5Tauri.toml。默认值为 tauri.conf.json。有关更多信息,请参阅下面的注释。

这是 Tauri 进程使用的文件。你可以定义构建设置(例如 tauri build 之前运行的 tauri dev 命令),设置 应用的名称和版本控制 Tauri 进程,并配置任何插件设置。你可以在 tauri.conf.json API 参考 中找到所有选项。

注意

默认的 Tauri 配置格式为 .json。可以通过在 Cargo.toml 中的 tauritauri-build 依赖项中添加 config-json5config-toml 特性标志(分别)来启用 .json5.toml 格式。请注意,.toml 格式仅适用于 Tauri 1.1 及更高版本。

Cargo.toml
[build-dependencies]
tauri-build = { version = "1.0.0", features = [ "config-json5" ] }

[dependencies]
serde_json = "1.0"
serde = { version = "1.0", features = ["derive"] }
tauri = { version = "1.0.0", features = [ "api-all", "config-json5" ] }

所有格式的结构和值都是相同的,但是格式应与各个文件格式一致。

Cargo.toml

Cargo 清单文件用于声明你的应用所依赖的 Rust 箱子、有关你的应用的元数据以及其他与 Rust 相关的特性。如果你不打算为你的应用使用 Rust 进行后端开发,那么你可能不会对其进行太多修改,但了解它的存在及其作用非常重要。

下面是一个 Tauri 项目的 Cargo.toml 文件的示例

Cargo.toml
[package]
name = "app"
version = "0.1.0"
description = "A Tauri App"
authors = ["you"]
license = ""
repository = ""
default-run = "app"
edition = "2021"
rust-version = "1.57"

[build-dependencies]
tauri-build = { version = "1.0.0" }

[dependencies]
serde_json = "1.0"
serde = { version = "1.0", features = ["derive"] }
tauri = { version = "1.0.0", features = [ "api-all" ] }

[features]
# by default Tauri runs in production mode
# when `tauri dev` runs it is executed with `cargo run --no-default-features` if `devPath` is an URL
default = [ "custom-protocol" ]
# this feature is used for production builds where `devPath` points to the filesystem
# DO NOT remove this
custom-protocol = [ "tauri/custom-protocol" ]

需要注意的最重要的部分是 tauri-buildtauri 依赖项。通常,它们都必须与 Tauri CLI 处于最新的次要版本,但这并不是严格要求的。如果你在尝试运行应用时遇到问题,你应该检查所有 Tauri 版本(tauritauri-cli)是否处于其各自次要版本的最新版本。

Cargo 版本号使用 语义化版本控制。运行 cargo update 将提取所有依赖项的最新可用语义版本兼容版本。例如,如果你将 1.0.0 指定为 tauri-build 的版本,Cargo 将检测并下载版本 1.0.4,因为它是可用的最新语义版本兼容版本。每当引入重大更改时,Tauri 都会更新主版本号,这意味着你应该始终能够安全地升级到最新的次要版本和修补版本,而无需担心你的代码会中断。

如果你想使用特定的箱子版本,你可以通过在依赖项的版本号前加上 = 来使用确切版本

tauri-build = { version = "=1.0.0" }

需要额外注意的是 tauri 依赖项中的 features=[] 部分。运行 tauri devtauri build 将根据你在 tauri.conf.json 中设置的 "allowlist" 属性自动管理项目中需要启用哪些功能。

在构建应用程序时,会生成一个 Cargo.lock 文件。此文件主要用于确保在开发过程中,不同机器使用相同的依赖项(类似于 Node.js 中的 yarn.lockpackage-lock.json)。由于你正在开发 Tauri 应用程序,因此应将此文件提交到源代码存储库(只有 Rust 库应省略提交此文件)。

要详细了解 Cargo.toml,可以阅读 官方文档

package.json

这是 Node.js 使用的包文件。如果 Tauri 应用程序的前端使用基于 Node.js 的技术(例如 npmyarnpnpm)开发,则此文件用于配置前端依赖项和脚本。

Tauri 项目的简单 package.json 文件示例可能如下所示

package.json
{
"scripts": {
"dev": "command-for-your-framework",
"tauri": "tauri"
},
"dependencies": {
"@tauri-apps/api": "^1.0",
"@tauri-apps/cli": "^1.0"
}
}

通常使用 "scripts" 部分来存储用于启动 Tauri 应用程序使用的前端的命令。上述文件指定了 dev 命令,你可以使用 yarn devnpm run dev 运行该命令来启动前端框架。

依赖项对象指定了在运行 yarnnpm install 时 Node.js 应下载哪些依赖项(在本例中为 Tauri CLI 和 API)。

除了 package.json 文件外,你可能还会看到 yarn.lock 文件或 package-lock.json 文件。这些文件有助于确保在稍后下载依赖项时,获得与开发过程中使用的完全相同的版本(类似于 Rust 中的 Cargo.lock)。

要详细了解 package.json,可以阅读 官方文档