配置文件
由于 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 crate、有关您的应用程序的元数据以及其他与 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 将在引入重大更改时更新主版本号,这意味着您应该始终能够安全地升级到最新的次要版本和补丁版本,而无需担心代码中断。
如果您想使用特定 crate 版本,则可以通过在依赖项的版本号前添加=
来使用精确版本
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
运行该命令来启动前端框架。
dependencies 对象指定在运行yarn
或npm install
时 Node.js 应该下载哪些依赖项(在这种情况下是 Tauri CLI 和 API)。
除了package.json
文件之外,您还可能会看到yarn.lock
文件或package-lock.json
文件。这些文件有助于确保稍后下载依赖项时,您将获得与开发期间使用的完全相同的版本(类似于 Rust 中的Cargo.lock
)。
要了解有关package.json
的更多信息,您可以阅读官方文档。