配置文件
由于 Tauri 是用于构建应用程序的工具包,因此可能会有许多文件来配置项目设置。你可能会遇到的常见文件包括 tauri.conf.json
、package.json
和 Cargo.toml
。我们在此页面上简要解释每个文件,以帮助你了解要修改哪个文件。
Tauri 配置
该文件可以是 tauri.conf.json
、tauri.conf.json5
或 Tauri.toml
。默认值为 tauri.conf.json
。有关更多信息,请参阅下面的注释。
这是 Tauri 进程使用的文件。你可以定义构建设置(例如 tauri build
之前运行的 tauri dev
命令),设置 应用的名称和版本,控制 Tauri 进程,并配置任何插件设置。你可以在 tauri.conf.json
API 参考 中找到所有选项。
默认的 Tauri 配置格式为 .json
。可以通过在 Cargo.toml
中的 tauri
和 tauri-build
依赖项中添加 config-json5
或 config-toml
特性标志(分别)来启用 .json5
或 .toml
格式。请注意,.toml
格式仅适用于 Tauri 1.1 及更高版本。
[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
文件的示例
[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-build
和 tauri
依赖项。通常,它们都必须与 Tauri CLI 处于最新的次要版本,但这并不是严格要求的。如果你在尝试运行应用时遇到问题,你应该检查所有 Tauri 版本(tauri
和 tauri-cli
)是否处于其各自次要版本的最新版本。
Cargo 版本号使用 语义化版本控制。运行 cargo update
将提取所有依赖项的最新可用语义版本兼容版本。例如,如果你将 1.0.0
指定为 tauri-build
的版本,Cargo 将检测并下载版本 1.0.4
,因为它是可用的最新语义版本兼容版本。每当引入重大更改时,Tauri 都会更新主版本号,这意味着你应该始终能够安全地升级到最新的次要版本和修补版本,而无需担心你的代码会中断。
如果你想使用特定的箱子版本,你可以通过在依赖项的版本号前加上 =
来使用确切版本
tauri-build = { version = "=1.0.0" }
需要额外注意的是 tauri
依赖项中的 features=[]
部分。运行 tauri dev
和 tauri build
将根据你在 tauri.conf.json
中设置的 "allowlist"
属性自动管理项目中需要启用哪些功能。
在构建应用程序时,会生成一个 Cargo.lock
文件。此文件主要用于确保在开发过程中,不同机器使用相同的依赖项(类似于 Node.js 中的 yarn.lock
或 package-lock.json
)。由于你正在开发 Tauri 应用程序,因此应将此文件提交到源代码存储库(只有 Rust 库应省略提交此文件)。
要详细了解 Cargo.toml
,可以阅读 官方文档。
package.json
这是 Node.js 使用的包文件。如果 Tauri 应用程序的前端使用基于 Node.js 的技术(例如 npm
、yarn
或 pnpm
)开发,则此文件用于配置前端依赖项和脚本。
Tauri 项目的简单 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 dev
或 npm run dev
运行该命令来启动前端框架。
依赖项对象指定了在运行 yarn
或 npm install
时 Node.js 应下载哪些依赖项(在本例中为 Tauri CLI 和 API)。
除了 package.json
文件外,你可能还会看到 yarn.lock
文件或 package-lock.json
文件。这些文件有助于确保在稍后下载依赖项时,获得与开发过程中使用的完全相同的版本(类似于 Rust 中的 Cargo.lock
)。
要详细了解 package.json
,可以阅读 官方文档。