組態檔案
由於 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
貨物的清單檔案用於宣告你的應用程式所依賴的 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
將會拉取所有相依性的最新可用的 Semver 相容版本。例如,如果你指定 1.0.0
作為 tauri-build
的版本,Cargo 會偵測並下載版本 1.0.4
,因為它是可用的最新 Semver 相容版本。每當引入重大變更時,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 應用程式所用前端的指令。上述檔案指定您可以使用 yarn dev
或 npm run dev
執行的 dev
指令,以啟動前端架構。
依賴項物件指定當您執行 yarn
或 npm install
時,Node.js 應下載哪些依賴項(在本例中為 Tauri CLI 和 API)。
除了 package.json
檔案外,您可能會看到 yarn.lock
檔案或 package-lock.json
檔案。這些檔案有助於確保您稍後下載依賴項時,會取得與開發期間使用的相同版本(類似於 Rust 中的 Cargo.lock
)。
若要深入了解 package.json
,您可以在 官方文件 中閱讀更多資訊。