Description 1️⃣ Problème initial
Nuxt multi-serveurs + Docker → Couldn't resolve component "default" et 404 sur _nuxt/* après déploiement.
Cause : HTML SSR et assets ne correspondent pas (nouvelle version / anciennes assets supprimées).
2️⃣ Principes clés
Build unique → SSR HTML + assets + sourcemaps
Assets versionnés par BUILD_ID (/_nuxt/$BUILD_ID/)
Ne jamais supprimer immédiatement les anciennes versions (clients existants)
Cache : HTML no-cache, assets immutable
3️⃣ Pipeline GitHub Actions recommandé
npm run build → .output/
Uploader _nuxt/$BUILD_ID vers CDN / storage externe
Uploader sourcemaps vers Sentry (même BUILD_ID)
Docker build sans rebuild , COPY .output → container autonome
4️⃣ Docker & Infra
Container autonome → run local ou isolé
Infra / LB → /nuxt/* redirigé vers CDN avec historique
Blue/green safe : anciens clients continuent de charger les assets depuis CDN
5️⃣ Build dans Docker vs CI
Build CI + copy dans Docker ✅ (recommandé pour sourcemaps + upload CDN)
Build dans Docker ❌ compliqué si extraction d’assets pour Sentry/CDN
6️⃣ Résultat
Container autonome + SSR + hydratation client OK
Blue/green safe pour clients existants
Sourcemaps Sentry toujours cohérentes
Aucun mismatch HTML ↔ assets
Reactions are currently unavailable
You can’t perform that action at this time.
1️⃣ Problème initial
Couldn't resolve component "default"et 404 sur_nuxt/*après déploiement.2️⃣ Principes clés
/_nuxt/$BUILD_ID/)no-cache, assetsimmutable3️⃣ Pipeline GitHub Actions recommandé
npm run build→.output/_nuxt/$BUILD_IDvers CDN / storage externe.output→ container autonome4️⃣ Docker & Infra
/nuxt/*redirigé vers CDN avec historique5️⃣ Build dans Docker vs CI
6️⃣ Résultat