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

La fonction GCP Cloud pour écrire des données dans BigQuery s'exécute avec succès, mais les données n'apparaissent pas dans la table BigQuery

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

Le shell POSIX (sh) redirige stderr vers stdout et capture stderr et stdout dans des variables