Passer au contenu principal

Fichiers de configuration

Puisque Tauri est une boîte à outils pour construire des applications, il peut y avoir de nombreux fichiers pour configurer les paramètres du projet. Certains fichiers communs que vous pouvez utiliser sont tauri.conf.json, package.json et Cargo.toml. Nous vous expliquons brièvement chacun sur cette page pour vous aider à vous orienter dans la bonne direction pour quel fichier modifier.

Tauri Config

Le fichier peut être soit tauri.conf.json, tauri.conf.json5, ou Tauri.toml. La valeur par défaut est tauri.conf.json. Voir la note ci-dessous pour plus d'informations.

C'est le fichier utilisé par le processus Tauri. You can define build settings (such as the command run before tauri build or tauri dev), set the name and version of your app, control the Tauri process, and configure any plugin settings. Vous pouvez trouver toutes les options dans le dans la référence de l'API tauri.conf.json .

note

Le format de configuration par défaut de Tauri est .json. Le .json5 ou le format .toml peut être activé en ajoutant le drapeau de fonctionnalité config-json5 ou config-toml (respectivement) aux tauri et les dépendances de tauri-build dans Cargo.toml. Notez que le format .toml n'est disponible depuis 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" ] }

The structure and values are the same across all formats, however, the formatting should be consistent with the respective file's format.

Cargo.toml

Le fichier manifeste de Cargo est utilisé pour déclarer des crates Rust que votre application dépend, des métadonnées de votre application et d'autres fonctionnalités liées à la Rust. Si vous n'avez pas l'intention de faire du développement backend en utilisant Rust pour votre application, il se peut que vous ne le modifiiez pas beaucoup, mais il est important de savoir qu'il existe et ce qu'il fait.

Ci-dessous, un exemple de fichier Cargo.toml minimale pour un projet 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" ]

Les parties les plus importantes à noter sont les dépendances tauri-build et tauri. Generally, they must both be on the latest minor versions as the Tauri CLI, but this is not strictly required. Si vous rencontrez des problèmes en essayant d'exécuter votre application, vous devriez vérifier que toutes les versions Tauri (tauri et tauri-cli) sont sur les dernières versions pour leurs versions mineures respectives.

Les numéros de version des crates utilisent le versioning sémantique. Exécuter cargo update va tirer les dernières versions compatibles Semver disponibles de toutes les dépendances. For example, if you specify 1.0.0 as the version for tauri-build, Cargo will detect and download version 1.0.4 because it is the latest Semver-compatible version available. Tauri mettra à jour le numéro de version principal chaque fois qu'un changement est introduit, ce qui signifie que vous devriez toujours être capable de mettre à jour en toute sécurité vers les dernières versions mineures et patchs sans craindre que votre code ne soit cassé.

Si vous voulez utiliser une version de crate spécifique, vous pouvez utiliser des versions exactes à la place en préfixant = au numéro de version de la dépendance:

tauri-build = { version = "=1.0.0" }

Une autre chose à noter est la partie features=[] de la dépendance tauri. Exécuter tauri dev et tauri build gèrera automatiquement les fonctionnalités à activer dans votre projet en fonction des propriétés "allowlist" que vous avez définies dans tauri.conf.json.

Lorsque vous construisez votre application, un fichier Cargo.lock est produit. Ce fichier est principalement utilisé pour s'assurer que les mêmes dépendances sont utilisées sur toutes les machines pendant le développement (similaire à yarn.lock ou package-lock.json dans Node.js). Since you are developing a Tauri app, this file should be committed to your source repository (only Rust libraries should omit committing this file).

Pour en savoir plus sur Cargo.toml vous pouvez en lire plus dans la documentation officielle.

package.json

Ceci est le fichier de package utilisé par Node.js. Si le frontend d'une application Tauri est développé à l'aide de technologies basées sur Node.js(comme npm, yarn, ou pnpm) ce fichier est utilisé pour configurer les dépendances du frontend et les scripts.

Un exemple de fichier package.json d'un projet Tauri pourrait ressembler quelque peu à ceci :

package.json
{
"scripts": {
"dev": "command-for-your-framework",
"tauri": "tauri"
},
"dependencies": {
"@tauri-apps/api": "^1.0",
"@tauri-apps/cli": "^1.0"
}
}

Il est courant d'utiliser la section "scripts" pour stocker la commande utilisée pour lancer le frontend utilisé par votre application Tauri. Le fichier ci-dessus spécifie la commande dev que vous pouvez exécuter en utilisant yarn dev ou npm run dev pour démarrer le framework frontend.

L'objet dépendances spécifie quelles dépendances Node.js devrait être téléchargé lorsque vous exécutez yarn ou npm install (dans ce cas, le CLI et l'API Tauri).

En plus du fichier package.json vous pouvez voir un fichier yarn.lock ou un fichier package-lock.json. Ces fichiers aident à s'assurer que lorsque vous téléchargerez les dépendances plus tard, vous obtiendrez exactement les mêmes versions que celles que vous avez utilisées pendant le développement (similaire à Cargo.lock en Rust).

Pour en savoir plus sur package.json , vous pouvez lire la documentation officielle.