2016-05-28 82 views
12

我正在Windows環境中開發Laravel(5.2.29)項目並在Chrome瀏覽器上測試它。刀片視圖不反映變化

我使用原子文本編輯器對Blade文件進行了一些更改,然後刷新了頁面,並注意到它突然停止反映更改(它正在加載舊的Blade文件)。

我已經試過如下:

  • 重新啓動瀏覽器
  • 清除瀏覽器緩存
  • 運行php artisan cache:clear
  • 運行composer dumpautoload
  • 刪除刀片文件(並得到了視圖不發現錯誤)。然後創建一個具有相同名稱的新刀片文件,沒有內容並刷新頁面。

無論如何,瀏覽器上顯示的代碼始終是相同(舊)版本,而不是Blade文件的內容。

我該如何解決這個問題?

回答

16

爲了避免在每次重新加載時解析刀片文件,Laravel在刀片處理後緩存視圖。我遇到過一些情況,其中源(視圖文件)被更新,但緩存文件未被「重新加載」。在這些情況下,您只需刪除緩存的視圖並重新加載頁面。

緩存的視圖文件存儲在storage/framework/views

+0

這個工作我已經刪除了框架下的所有視圖。謝謝。 –

+3

我嘗試過,但我仍然看到舊視圖的緩存版本。 –

+0

緩存對我來說實際上是空的 –

11

運行從終端

php artisan view:clear 
+0

在laravel 5.0中沒有這樣的命令 –

+0

根據操作要求,它在5.2中。運行php的工匠,並檢查自己之前downvoting這個答案。 – Bugfixer

+0

這實際上對我有用。這只是爲了確認,命令確實存在,它擺脫了我得到的緩存視圖。 –

6

此命令如果使用PHPStorm,取消Preserve files timestamps部署選項: https://stackoverflow.com/a/42534996/2453148

+0

這就是我的問題 - 這個問題只是在我通過一個項目中途開始使用PHPStorm時纔開始,所以我知道這不是什麼與laravel! – user3791372

0

清除緩存和清除緩存刀片文件:

php artisan cache:clear 
php artisan config:clear 
php artisan view:clear