跳到主要內容

組態檔案

由於 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

貨物的清單檔案用於宣告你的應用程式所依賴的 Rust 箱子、你的應用程式的元資料,以及其他與 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 將會拉取所有相依性的最新可用的 Semver 相容版本。例如,如果你指定 1.0.0 作為 tauri-build 的版本,Cargo 會偵測並下載版本 1.0.4,因為它是可用的最新 Semver 相容版本。每當引入重大變更時,Tauri 會更新主要版本號碼,這表示你應該總是能夠安全地升級到最新的次要和修補版本,而不用擔心你的程式碼會中斷。

如果你想要使用特定箱子版本,你可以透過在相依性的版本號碼前加上 = 來使用確切版本

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 應用程式所用前端的指令。上述檔案指定您可以使用 yarn devnpm run dev 執行的 dev 指令,以啟動前端架構。

依賴項物件指定當您執行 yarnnpm install 時,Node.js 應下載哪些依賴項(在本例中為 Tauri CLI 和 API)。

除了 package.json 檔案外,您可能會看到 yarn.lock 檔案或 package-lock.json 檔案。這些檔案有助於確保您稍後下載依賴項時,會取得與開發期間使用的相同版本(類似於 Rust 中的 Cargo.lock)。

若要深入了解 package.json,您可以在 官方文件 中閱讀更多資訊。