Retour à la leçonMission
Mission : un déploiement Nuxt qui plante uniquement en production
Diagnostiquer un accès direct à window dans un composant SSR, puis choisir une stratégie de rendu adaptée pour chaque page de l'application.
Contexte
Une page pages/produits/[id].vue fonctionne parfaitement en développement, mais le build de production Nuxt échoue avec une erreur "window is not defined". Le composant contient, directement au premier niveau de <script setup> (pas dans onMounted), la ligne const largeurEcran = window.innerWidth utilisée pour adapter la mise en page. Par ailleurs, l'équipe hésite encore sur la stratégie de rendu à appliquer à trois pages : la page d'accueil (contenu quasi statique), les fiches produits (contenu qui change souvent, doit être indexé par Google), et le tableau de bord privé de l'utilisateur connecté.