web-dev-qa-db-fra.com

La vue de la lame ne reflète pas les changements

Je développe un projet Laravel (5.2.29) dans un environnement Windows et le teste dans un navigateur Chrome.

J'ai apporté des modifications à un fichier Blade à l'aide de l'éditeur de texte Atom, puis j'ai actualisé ma page et constaté que, soudainement, les modifications ne sont plus reflétées (le chargement de l'ancien fichier Blade est en cours.

J'ai essayé ce qui suit:

  • Redémarrage du navigateur
  • Effacement du cache du navigateur
  • En cours php artisan cache:clear
  • En cours composer dumpautoload
  • Suppression du fichier Blade (et obtenez un view not found error). Créez ensuite un nouveau fichier Blade avec le même nom, sans contenu et actualisez la page.

Quoi qu'il en soit, le code affiché sur le navigateur est toujours la même version (ancienne) et non le contenu du fichier Blade.

Comment puis-je résoudre ce problème?

20
Noob Coder

Afin d'éviter l'analyse des fichiers Blade à chaque rechargement, Laravel met en cache les vues après le traitement de Blade. J'ai rencontré des situations dans lesquelles le fichier source est mis à jour mais le fichier de cache n'est pas "rechargé". Dans ce cas, tout ce que vous avez à faire est de supprimer les vues en cache et de recharger la page.

Les fichiers de vue mis en cache sont stockés dans storage/framework/views.

29
Luís Cruz

Exécuter cette commande depuis le terminal 

php artisan view:clear
25
Bugfixer

Si vous utilisez PHPStorm, désactivez l'option de déploiement Preserve files timestamps: https://stackoverflow.com/a/42534996/2453148

9
Arthur Shlain

Vous pouvez également vérifier si opcache est activé. Dans ce cas, vous devez effacer votre cache opcache.

2
Akhilesh Singh

Sinon, si d'autres méthodes suggérées ne fonctionnent pas, vous pouvez renommer vos fichiers sous des noms différents. Actualisez leurs pages Web correspondantes pour commencer à utiliser une nouvelle référence de nom de fichier. Ensuite, vous pouvez renommer les fichiers en vos noms préférés après les nouvelles pages pour refléter leurs modifications.

2
Gabby

Effacez le cache et effacez les fichiers de la lame en cache:

php artisan cache:clear
php artisan config:clear
php artisan view:clear
1
Connor Leech