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.
|
# trunk est l'outil de build pour les applications Rust/WASM.
|
||||||
#
|
#
|
||||||
# Commandes principales :
|
# Commandes principales :
|
||||||
# trunk serve → serveur de dev avec hot-reload (recompile à chaque changement)
|
# trunk build --features hydrate → compilation dev
|
||||||
# trunk build → compilation production (dans target/site/)
|
# trunk build --features hydrate --release → compilation prod optimisée
|
||||||
# trunk build --release → compilation production optimisée (avec profile wasm-release)
|
# trunk serve --features hydrate → serveur de dev avec hot-reload
|
||||||
|
|
||||||
[build]
|
[build]
|
||||||
# Feature à activer lors de la compilation WASM
|
# Feature à activer lors de la compilation WASM
|
||||||
# "hydrate" active le code client et désactive le code serveur
|
|
||||||
features = ["hydrate"]
|
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]
|
[watch]
|
||||||
# Dossiers à ignorer lors de la surveillance des changements de fichiers
|
# Ne pas surveiller ces dossiers pour éviter les boucles infinies
|
||||||
# Sans ça, trunk se relancerait en boucle en détectant ses propres fichiers compilés
|
|
||||||
ignore = ["./target"]
|
ignore = ["./target"]
|
||||||
|
|
||||||
[serve]
|
[serve]
|
||||||
# Port du serveur de développement trunk
|
|
||||||
port = 3000
|
port = 3000
|
||||||
# Ne pas ouvrir le navigateur automatiquement au démarrage
|
|
||||||
open = false
|
open = false
|
||||||
|
|||||||
@@ -9,6 +9,12 @@
|
|||||||
- Il injecte les balises <script> pour charger le bundle WebAssembly
|
- Il injecte les balises <script> pour charger le bundle WebAssembly
|
||||||
Ne pas ajouter ces balises manuellement ici — trunk le fait pour vous.
|
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>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<!--
|
<!--
|
||||||
|
|||||||
Reference in New Issue
Block a user