Vue SPA 如何解決瀏覽器緩存問題
Vue SPA 解決瀏覽器緩存
如何讓發(fā)布到線上的 vue 單頁應(yīng)用能及時更新到瀏覽器,而無需用戶強(qiáng)制刷新頁面呢?
因為 js、css、圖片等資源文件名帶有 hash 值,只要文件名變了就會更新,所以可以設(shè)置緩存,但 html 文件名沒有加 hash 值,所以不能緩存該文件。
在 nginx.conf 中設(shè)置
? ? ? ? location / { ? ? ? ? ? ? root html/dist; ? ? ? ? ? ? index index.html index.htm; ?? ??? ??? ?if ($request_filename ~* .*\.(js|css|woff|png|jpg|jpeg)$) { ?? ??? ??? ??? ?expires ? ?100d; ?# js、css、圖片緩存100天(因為文件名有hash) ?? ??? ??? ??? ?#add_header Cache-Control "max-age = 8640000"; # 或者設(shè)置max-age ?? ??? ??? ?} ?? ??? ?? ?? ??? ??? ?if ($request_filename ~* .*\.(?:htm|html)$) { ?? ??? ??? ??? ?add_header Cache-Control "no-store"; ?# html不緩存(因為文件名沒有加hash) ?? ??? ??? ?} ? ? ? ? }
通過上述配置,讓瀏覽器不緩存 html 文件。
Vue 微信瀏覽器緩存問題
1.試過js、css打包時添加時間戳,因為打包后每次都是新名字的文件,所以感覺加不加時間戳都沒有效果 試了一下果然
原因應(yīng)該是微信瀏覽器緩存了index.html, 所以打開緩存的頁面根本沒有任何請求
2.試過index.html添加meta標(biāo)簽,設(shè)置不緩存頁面,親測也無效
3.index.html 試過添加參數(shù),本以為微信瀏覽器會認(rèn)為是一個新頁面, 但是無果
4.js 間隔時間自動刷新window.location.href 體驗不好,還是去掉了
5.既然前端試了很多種辦法 還是無效,只能在服務(wù)端配置了,
location = /index.html {? ? ? add_header Cache-Control "no-cache, no-store";? }
這句話應(yīng)該也是讓index.html不緩存,嘗試了下,這種辦法沒有兼容問題,安卓和ios每次打開頁面都及時更新了
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue+elemet實(shí)現(xiàn)表格手動合并行列
這篇文章主要為大家詳細(xì)介紹了vue+elemet實(shí)現(xiàn)表格手動合并行列,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-08-08JS 函數(shù)的 call、apply 及 bind 超詳細(xì)方法
這篇文章主要描述JS 函數(shù)的 call、apply 及 bind 方法的超詳細(xì)解說,感興趣的朋友可以參考下文,希望能幫助到您2021-08-08Vue 開發(fā)音樂播放器之歌手頁右側(cè)快速入口功能
這篇文章主要介紹了Vue 開發(fā)音樂播放器之歌手頁右側(cè)快速入口功能,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-08-08vue前端路由以及vue-router兩種模式實(shí)例詳解
路由這個概念最先是后端出現(xiàn)的,下面這篇文章主要給大家介紹了關(guān)于vue前端路由以及vue-router兩種模式的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-03-03npm安裝vue腳手架報錯警告npm WARN deprecated
安裝vue腳手架報錯可能具體原因比較多,可以根據(jù)報錯信息進(jìn)行排查,本文主要介紹了npm安裝vue腳手架報錯警告npm WARN deprecated,感興趣的可以了解一下2023-11-11vue 使用 canvas 實(shí)現(xiàn)手寫電子簽名
這篇文章主要介紹了vue 使用 canvas 實(shí)現(xiàn)手寫電子簽名功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03基于vue實(shí)現(xiàn)循環(huán)滾動列表功能
這篇文章給大家介紹基于vue實(shí)現(xiàn)循環(huán)滾動列表功能,給大家介紹了該組件的用法,通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2021-09-09