fix(build): fix trunk output path and disable file hashing
Set dist=target/site/pkg so trunk outputs WASM alongside where Axum serves /pkg/. Disable filehash so HydrationScripts can resolve rust-ipam.js and rust-ipam_bg.wasm without content hash suffixes. Add data-target-name to index.html to disambiguate lib from bin target. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
24
Trunk.toml
24
Trunk.toml
@@ -2,24 +2,28 @@
|
||||
# trunk est l'outil de build pour les applications Rust/WASM.
|
||||
#
|
||||
# Commandes principales :
|
||||
# trunk serve → serveur de dev avec hot-reload (recompile à chaque changement)
|
||||
# trunk build → compilation production (dans target/site/)
|
||||
# trunk build --release → compilation production optimisée (avec profile wasm-release)
|
||||
# trunk build --features hydrate → compilation dev
|
||||
# trunk build --features hydrate --release → compilation prod optimisée
|
||||
# trunk serve --features hydrate → serveur de dev avec hot-reload
|
||||
|
||||
[build]
|
||||
# Feature à activer lors de la compilation WASM
|
||||
# "hydrate" active le code client et désactive le code serveur
|
||||
features = ["hydrate"]
|
||||
# Dossier de sortie des fichiers compilés (JS, WASM, CSS, HTML)
|
||||
dist = "target/site"
|
||||
|
||||
# Dossier de sortie des fichiers WASM/JS.
|
||||
# Doit correspondre à site-pkg-dir dans [package.metadata.leptos] du Cargo.toml,
|
||||
# car Axum sert ce dossier sur le chemin "/pkg/".
|
||||
dist = "target/site/pkg"
|
||||
|
||||
# Désactive les hashes dans les noms de fichiers (ex: rust-ipam-abc123.js → rust-ipam.js).
|
||||
# Sans ça, HydrationScripts (Leptos) ne peut pas trouver les bons fichiers WASM
|
||||
# car il génère des URLs sans hash (/pkg/rust-ipam.js).
|
||||
filehash = false
|
||||
|
||||
[watch]
|
||||
# Dossiers à ignorer lors de la surveillance des changements de fichiers
|
||||
# Sans ça, trunk se relancerait en boucle en détectant ses propres fichiers compilés
|
||||
# Ne pas surveiller ces dossiers pour éviter les boucles infinies
|
||||
ignore = ["./target"]
|
||||
|
||||
[serve]
|
||||
# Port du serveur de développement trunk
|
||||
port = 3000
|
||||
# Ne pas ouvrir le navigateur automatiquement au démarrage
|
||||
open = false
|
||||
|
||||
@@ -9,6 +9,12 @@
|
||||
- Il injecte les balises <script> pour charger le bundle WebAssembly
|
||||
Ne pas ajouter ces balises manuellement ici — trunk le fait pour vous.
|
||||
-->
|
||||
<!--
|
||||
Indique à trunk de compiler le target "lib" (cdylib → WASM)
|
||||
et non le binaire "rust-ipam" (qui lui est le serveur Axum).
|
||||
data-target-name correspond au nom du crate avec underscores (convention Rust).
|
||||
-->
|
||||
<link data-trunk rel="rust" data-target-name="rust_ipam" />
|
||||
</head>
|
||||
<body>
|
||||
<!--
|
||||
|
||||
Reference in New Issue
Block a user