我有一个React应用程序,每次部署新版本时,由于浏览器缓存,一些用户无法获取新版本。
请问有没有办法在每次部署新版本时清除浏览器缓存呢?
我有一个React应用程序,每次部署新版本时,由于浏览器缓存,一些用户无法获取新版本。
请问有没有办法在每次部署新版本时清除浏览器缓存呢?
缓存是浏览器向用户提供的一种功能。由于安全原因,您不能使用Javascript清除缓存。
清除缓存意味着您可以操纵用户计算机上的物理文件,如果有一天您可能会这样做,那将是一个巨大的安全漏洞。
查看此答案以加强我所说的内容。
但是,您可以像这样告诉浏览器永不缓存您的页面(也可以查看此文档):
<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='0'>
<meta http-equiv='pragma' content='no-cache'>
或者通过将所有文件(JavaScript、图片、字体等)中的哈希标签名称关联起来,并在部署新软件版本时更改该哈希来更改浏览器已知的文件:
<script src="script.js?version={versionNumber}">
<img src ="imageName.png=version={versionNumber}">
<script src="MyScript.js?v=1"></script>
在后端,你可以使用HTTP头部来指示浏览器不要缓存响应。 - Kei