缓存
前端资源(html/css/js)清除缓存处理方案 by sandyliang整理
如果前端资源部署在服务端,每次发布(投产)需考虑清除缓存。
HTML文件的缓存设计
单页面应用的index.html文件,避免缓存方案:
1) 通过设置类似index.html?v=1.0.1 即路径上带随机数(每次投产配置不同时间戳或版本号);
2) HTTP1.1提供了几种限制缓存的方式。通过在服务端设置HTTP-Header响应头部设置Cache-Control: no-store(这样的做法用户每次访问的index.html页面都从服务器读取,不读浏览器缓存)
举例:若index.html页面是部署在nginx服务器上,可以在nginx 配置如下:
HTM文件缓存不可靠方案
通过HTTP-EQUIV控制HTML缓存。在index.html 页面
此方案虽然做法简单,但是只有部分浏览器支持,故此法不靠谱,应规避这么做。
JS/CSS文件缓存的设计
未发生更改的文件利用缓存以提高加载性能(不更改文件名称/不更改路径带的随机数);发生更改的文件,可由webpack设置动态编译出带随机码名称文件,例如app.v342.js,或手动配置随机数,例如:app.js?v=1.0.1
缓存方案测试
是否有效可以使用chrome Network面板,刷新页面查看Status Code 读取状态。例如
Last updated
Was this helpful?