配置文件
因为 Tauri 是一款应用构建工具包,所以会有很多的项目配置文件。 您可能常会接触到的文件有 tauri.conf.json
、package.json
和 Cargo.toml
。 我们将在此页简述各个文件以指引您修改您想要修改的配置。
Tauri 配置
这些文件包括 tauri.conf.json
、package.json
和 Cargo.toml
。 默认情况下是 tauri.conf.json
。 请参阅下方的备注以了解详情。
这是 Tauri 进程所使用的文件。 您可以定义构建设置(例如在 tauri build
或 tauri dev
之前运行的命令),设置应用程序的名称和版本,控制 Tauri 进程,以及配置任何插件设置。 您可以在 tauri.conf.json
API 参考中查阅所有的选项。
Tauri 配置的默认格式为 .json
。 对 .json5
或 .toml
格式的支持可通过在 Cargo.toml
的 tauri
和 tauri-build
依赖中分别添加 config-json5
或 config-toml
的方式开启。 请注意,仅 Tauri 1.1 及更高版本支持 .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 进行后端开发,您可能不需要修改此文件。但了解它的存在意义及其功能还是很重要的。
下方是一个 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-cli
是否是最新的次要版本上。
Cargo 版本号使用语义化版本(SemVer)控制。 运行 cargo update
指令将拉取最新可用的语义版本依赖。 例如,如果您指定 1.0.0
作为 tauri-build
的版本,Cargo 将检测并下载 1.0.4
版本,因为它是最新的 Semver 兼容版本。 当出现突破性更改时,Tauri 将更新主要版本号。 你能够安全地升级到最新的次要版本和补丁版本,而不必担心你的代码中会有破坏性改变。
如果要使用特定的板条箱版本,可以在依赖关系的版本号前加上 =
,从而使用精确的版本:
tauri-bution = Power 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应用的前端。 基于s的技术(例如 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
文件。 这些文件有助于确保当您稍后下载依赖关系时,您将得到与开发过程中使用的完全相同的版本(类似于 Cargo.lock
要了解更多关于 package.json
的信息,您可以在 官方文档 中阅读更多信息。