Configuration
Nuxt Tauri fonctionne immédiatement sans configuration, mais vous pouvez personnaliser son comportement si nécessaire.
Configuration par Défaut
Le module :
- Enregistre automatiquement le plugin pour la disponibilité de l'API Tauri
- Auto-importe les composables
useTauriInvokeetuseTauriEvent - Fournit le support TypeScript
Options du Module
Actuellement, le module ne nécessite pas d'options de configuration spécifiques, mais vous pouvez ajouter le module à votre nuxt.config.ts :
export default defineNuxtConfig({
modules: ["nuxt-module-tauri"],
// Optionnel : Configuration spécifique au module (versions futures)
nuxtTauri: {
// Des options de configuration seront ajoutées dans les versions futures
},
});Détection d'Environnement
Les composables détectent automatiquement s'ils fonctionnent dans un environnement Tauri :
- Dans Tauri : Fonctionnalité complète disponible
- Dans le Navigateur : Gestion d'erreur élégante avec des messages d'erreur utiles
<script setup>
const { data, error, execute } = useTauriInvoke("my_command");
// Ceci montrera une erreur dans l'environnement navigateur
// "Tauri API not available"
</script>Configuration TypeScript
Pour un support TypeScript optimal, assurez-vous que votre tsconfig.json inclut :
{
"compilerOptions": {
"moduleResolution": "node",
"allowSyntheticDefaultImports": true,
"esModuleInterop": true
}
}Développement vs Production
Développement
Pendant le développement, vous pouvez tester vos commandes Tauri :
# Démarrer le serveur de développement Nuxt
npm run dev
# Dans un autre terminal, démarrer Tauri
cargo tauri devProduction
Pour les builds de production, assurez-vous que Nuxt et Tauri sont tous deux construits :
# Construire Nuxt
npm run build
# Construire l'application Tauri
cargo tauri buildConfiguration des Commandes Tauri
Du côté Rust, assurez-vous que vos commandes sont correctement exposées :
use tauri::command;
#[command]
fn get_user(id: u32) -> Result<User, String> {
// Votre implémentation
Ok(User {
id,
name: "John Doe".to_string(),
email: "john@example.com".to_string(),
})
}
fn main() {
tauri::Builder::default()
.invoke_handler(tauri::generate_handler![get_user])
.run(tauri::generate_context!())
.expect("error while running tauri application");
}Auto-imports
Les composables suivants sont automatiquement disponibles sans imports :
useTauriInvokeuseTauriEvent
Si vous devez les importer manuellement :
import { useTauriInvoke, useTauriEvent } from "#imports";Bonnes Pratiques
Gestion d'Erreurs
Gérez toujours les erreurs avec élégance :
<script setup>
const { data, error, pending, execute } = useTauriInvoke("risky_command");
watchEffect(() => {
if (error.value) {
console.error("Échec de la commande:", error.value);
// Afficher un message d'erreur convivial
}
});
</script>Sécurité de Type
Utilisez les interfaces TypeScript pour une meilleure expérience de développement :
interface ApiResponse<T> {
success: boolean;
data: T;
message?: string;
}
interface User {
id: number;
name: string;
email: string;
}
const { data } = useTauriInvoke<ApiResponse<User>>("get_user", { id: 1 });Dépannage
Problèmes Courants
Erreur "Tauri API not available" : Vous fonctionnez probablement dans un environnement navigateur. C'est un comportement attendu.
Commandes introuvables : Assurez-vous que vos commandes Rust sont correctement enregistrées dans l'
invoke_handler.Erreurs TypeScript : Assurez-vous que
@tauri-apps/apiest installé et à jour.