配置文件
因为 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 的信息,您可以在 官方文档 中阅读更多信息。