单页面应用(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
相关文章
相关标签/搜索