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


  • 當單頁面的系統在重新部署更新時,此時正在瀏覽網頁,並且已經在網頁內的用戶,始終會使用老的js與css文件,一直在使用已經緩存了的靜態資源。
    所有的緩存問題焦點都在index.html上,只要index.html刷新即可重新獲取代碼。
    出處:https://www.cnblogs.com/mamimi/p/9179244.html

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

  1. webpack打包時,設置一個唯一的打包字符串(比如:當前時間戳),存到一個文件里(最好是json文件,此文件不緩存);
  2. 將打包字符串存在 localStorage 中;
  3. 進入每個路由時,比較 localStorage 中的打包字符串與文件中新的打包字符串是否一致。不一致的話,刷新頁面。
  4. 將新的打包字符串,存入 localStorage。
    該方案詳細實現:https://segmentfault.com/a/1190000017918361


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM