javascript - 每次部署新版本的 Web 应用程序时如何清理浏览器缓存?

标签 javascript reactjs frontend

我有一个 React 应用程序,每次部署新版本时,一些用户由于浏览器缓存而无法获取新版本。

谁能告诉我如何在每次部署新版本软件时清理浏览器缓存?

最佳答案

缓存是浏览器向用户提供的一项功能。由于安全原因,您无法使用 JavaScript 清理缓存。

清理缓存意味着您可以操作用户计算机上的物理文件,如果有一天您可以这样做,这将是一个巨大的安全漏洞。

检查this answer来强化我所说的。

但是,您可以告诉浏览器永远不要像这样缓存您的页面(另请查看 this 文档):

<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}">

关于javascript - 每次部署新版本的 Web 应用程序时如何清理浏览器缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57993791/

相关文章:

javascript - 选中复选框时动态更改 Bootstrap 进度条值

javascript - 我可以在 Hyperstack 中制作功能组件吗?

functional-programming - Elm - 输入类型复选框

javascript - 使用按钮的 Node JS 服务器请求

javascript - 检查值是否是对象文字?

reactjs - React Native es5 与 es6 解释请求

reactjs - React.js - 如何将事件处理程序传递给深度嵌套的组件而不需要 Prop 钻探?

css - 网页中的字体看起来更粗(白色,深色背景)

ajax - 服务器端、AJAX 和数据操作

javascript - 映射组件时渲染条件路由