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

rec*_*ent 5 javascript frontend reactjs

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

任何人都可以告诉我如何在每次部署新版本的软件时清理浏览器缓存?

Ric*_*cha 7

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

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

检查这个答案以强化我所说的内容。

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

<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='0'>
<meta http-equiv='pragma' content='no-cache'>
Run Code Online (Sandbox Code Playgroud)

或者通过在所有文件(javascript、图像、字体等)中关联哈希标签名称来更改浏览器已知的文件,并在每次部署新版本的软件时更改该哈希,如下所示:

<script src="script.js?version={versionNumber}">
<img src ="imageName.png=version={versionNumber}">
Run Code Online (Sandbox Code Playgroud)