2016-02-05 67 views
0

在Web應用程序的本地開發中,我有幾千個JS文件。Chrome的緩存無法正常工作時刷新

爲了不等待15秒,每次刷新,我添加了緩存頭的響應

Cache-Control: max-age=3600, public 

在頁面上,我添加緩存斷路器到改變,如果該文件已更改的URL。

<script src="file1.js?sha1=abc..."></script> 
<script src="file2.js?sha1=def..."></script> 
<script src="file3.js?sha1=123..."></script> 
... 

不適用於Chrome或Firefox。無論我如何刷新頁面(「硬」,「軟」),瀏覽器總是對這些上千個文件中的每一個文件提出請求。

有沒有辦法讓Chrome和Firefox在刷新頁面時不忽略鏈接資源的緩存?

回答

0

瀏覽器通常會執行「304未修改?」檢查文件,或者至少可以正常工作的文件。你確定他們正在請求並下載每一個文件嗎?或者只是做一個這樣的支票?

如果有成千上萬的文件,我肯定會考慮合併和縮小它們,因爲這意味着您的網站每次加載都會很慢。

+0

是的,他們做304未修改......數千次。我不會在開發過程中進行縮小,因爲這會讓他們更難閱讀並且需要時間。 –

+0

304 Not Modified不會下載整個文件,除非它實際發生了改變(因此「未修改?」的問題)並且將使用瀏覽器的緩存副本。因此,請仔細檢查一下,即使您的文件沒有更新,您的緩存斷路器也不會隨時更改,因爲如果每次都看到文件下載,則緩存斷路器的問題可能更多。否則,304是默認行爲。 – zerohero