Le projet Laravel Vue obtient une page blanche vierge lors de l'exécution initiale uniquement en production, résolue avec une actualisation matérielle. Comment puis-je empêcher cela ?

Je construis une application Web en utilisant Laravel 8.6, Vue 3.2 et l'hébergement sur AWS avec Laravel Forge. Tout fonctionne bien en local et sur la mise en scène. Cependant, lorsque je déploie l'application en production, certaines personnes voient initialement un écran blanc vierge. Ils ne voient aucune erreur dans la console. Ce problème est résolu par une actualisation matérielle du navigateur. Cependant, lorsque j'essaie de répliquer ce problème localement, je ne peux pas le répliquer.

La seule vraie différence entre le local et la mise en scène et la production est qu'en production, j'exécute "npm run prod", qui exécute "npx mix --production".

Serait-ce une erreur dans la configuration du serveur ? Une idée de comment résoudre?

J'apprécie tous les commentaires ou suggestions!


Solution du problème

Pourrait être lié aux utilisateurs en production ayant une copie en cache de vos actifs, si ce n'est déjà fait, pouvez-vous ajouter à votre fichier webpack.mix.js :

if (mix.inProduction()) {
mix.version();
}

Pour vous assurer que les utilisateurs obtiennent une nouvelle copie de vos actifs lorsque vous les déployez en production ( https://laravel.com/docs/9.x/mix#versioning-and-cache-busting )

Commentaires

Posts les plus consultés de ce blog

Erreur Symfony : "Une exception a été levée lors du rendu d'un modèle"

Détecter les appuis sur les touches fléchées en JavaScript

Une chaîne vide donne "Des erreurs ont été détectées dans les arguments de la ligne de commande, veuillez vous assurer que tous les arguments sont correctement définis"