前端應(yīng)用部署后頁面緩存問題的解決

場(chǎng)景

由于vue項(xiàng)目上線后,用戶頁面異常,打開 F12 顯示很多請(qǐng)求出現(xiàn)404,原因大概率在于當(dāng)前頁面使用了瀏覽器的緩存,請(qǐng)求舊的資源失敗。

瀏覽器緩存機(jī)制解析

http://www.itdecent.cn/p/7a3fa1079982

nginx服務(wù)器緩存機(jī)制解析

https://blog.csdn.net/u013032097/article/details/91435268

解決辦法

1、在vue項(xiàng)目中解決

?在入口文件index.html添加:

<meta http-equiv="pragram" content="no-cache">

<meta http-equiv="cache-control" content="no-cache, no-store, must-revalidate">

<meta http-equiv="expires" content="0">

2、如果是部署在nginx上

在nginx的配置文件 nginx.config添加:

location = /index.html {

? ? add_header Cache-Control "no-cache, no-store";

}

如果是用nginx做反向代理的,這么加

location = /xx(xx為你的代理的項(xiàng)目名) {

? ? add_header Cache-Control "no-cache, no-store";

}

如果nginx上有 proxy_cache 的配置,也考慮刪掉,這是nginx的服務(wù)器緩存

3、如果是部署在Tomcat上

tomcat稍微麻煩點(diǎn),需要開發(fā)并配置一個(gè)過濾器(Filter),如果你只懂前端,那可能需要找后端的兄弟幫忙了。

1、首先我們要用java寫個(gè)過濾器:

注意:路徑要和第三步的配置保持一致

2、然后我們把這個(gè)過濾器打成jar包,名字隨便,放在tomcat/lib目錄下即可。

3、最后,我們需要修改配置文件tomcat/conf/web.xml,在末尾</web-app>的上方增加以下代碼:

MyFilter是你給過濾器起的名字,可隨便改

也沒有太麻煩,應(yīng)該大部分同學(xué)都能搞定。

4、ctrl+f5強(qiáng)制刷新瀏覽器,這是對(duì)于用電腦瀏覽器的用戶來說

強(qiáng)制刷新 (Ctrl + F5):瀏覽器不使用緩存,因此發(fā)送的請(qǐng)求頭部均帶有Cache-control: no-cache(為了兼容,還帶了Pragma: no-cache),服務(wù)器直接返回 200 和最新內(nèi)容。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容