單頁面應用(SPA)從新部署後,正在瀏覽的頁面如何更新緩存?

  • 當單頁面的系統在從新部署更新時,此時正在瀏覽網頁,而且已經在網頁內的用戶,始終會使用老的js與css文件,一直在使用已經緩存了的靜態資源。
    全部的緩存問題焦點都在index.html上,只要index.html刷新便可從新獲取代碼。
    出處:http://www.javashuo.com/article/p-qoadkyos-hx.html

想到的一個較好的解決方案:

  1. webpack打包時,設置一個惟一的打包字符串(好比:當前時間戳),存到一個文件裏(最好是json文件,此文件不緩存);
  2. 將打包字符串存在 localStorage 中;
  3. 進入每一個路由時,比較 localStorage 中的打包字符串與文件中新的打包字符串是否一致。不一致的話,刷新頁面。
  4. 將新的打包字符串,存入 localStorage。
    該方案詳細實現:http://www.javashuo.com/article/p-eybrphux-kq.html
相關文章
相關標籤/搜索