跳至主要内容

配置文件

由于 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 crate、有关您的应用程序的元数据以及其他与 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 将在引入重大更改时更新主版本号,这意味着您应该始终能够安全地升级到最新的次要版本和补丁版本,而无需担心代码中断。

如果您想使用特定 crate 版本,则可以通过在依赖项的版本号前添加=来使用精确版本

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运行该命令来启动前端框架。

dependencies 对象指定在运行yarnnpm install时 Node.js 应该下载哪些依赖项(在这种情况下是 Tauri CLI 和 API)。

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

要了解有关package.json的更多信息,您可以阅读官方文档