每次我对网站进行更改并尝试将这些更改更新为正在运行的网站时,都必须刷新浏览器。有什么办法可以通过代码完成
我已经尝试搜索它,但是大多数都说它无法完成。 参考站:How to programmatically empty browser cache?
**响应标头:
HTTP / 1.1 200确定
服务器:nginx / 1.12.2
日期:2018年7月6日星期五10:01:23 GMT
内容类型:text / html
传输编码:分块
连接:保持活动状态
变化:接受编码
内容编码:gzip
**请求标头:
GET / HTTP / 1.1
主持人:--example-。com
连接:保持活动状态
不安全升级请求:1
用户代理:Mozilla / 5.0(Macintosh;英特尔Mac OS X 10_13_4)AppleWebKit / 537.36(KHTML,例如Gecko)Chrome / 67.0.3396.99 Safari / 537.36
接受:text / html,application / xhtml + xml,application / xml; q = 0.9,image / webp,image / apng, / ; q = 0.8
接受编码:gzip,放气
接受语言:en-GB,en-US; q = 0.9,en; q = 0.8,hi; q = 0.7
Cookie:fingerPrint = e4a9037b8f674722f414b0b59d8d663c
答案 0 :(得分:2)
答案 1 :(得分:1)
您可以使用 chrome开发工具 。 网络标签 中有一个选项可以禁用缓存。
答案 2 :(得分:1)
在公用文件夹中制作一个 style.css 文件,然后将此CSS文件链接到您的 index.html 文件中。
例如:
<link rel="stylesheet" type="text/css" href="%PUBLIC_URL%/style.css?v=0.0.1" />
在构建代码之前,始终更新此 CSS 文件的版本。
答案 3 :(得分:0)
有可能,您可以简单地使用jQuery。请看一下帖子 How to programmatically empty browser cache?
答案 4 :(得分:0)
即使以下答案无效。而且您遇到的问题是,例如正在缓存您的应用,使整个应用显示旧版本,那么您可以检查此链接https://github.com/facebook/create-react-app/issues/1910#issuecomment-355245212。之后执行npm启动,对我有用。
答案 5 :(得分:0)
我做了一个简单的功能来删除缓存。要清除缓存时,只需调用此函数即可。
对我有用。 *未在边缘情况下对其进行测试。
您可以通过在客户端保留版本号并让服务器发送版本号来实现它。如果它们不匹配,则调用该函数以删除缓存。或者,您可以给用户一个按钮,让他们决定删除缓存。
export default function emptyCache(){
if('caches' in window){
caches.keys().then((names) => {
// Delete all the cache files
names.forEach(name => {
caches.delete(name);
})
});
// Makes sure the page reloads. Changes are only visible after you refresh.
window.location.reload(true);
}
}
答案 6 :(得分:0)
当您使用大量 js 文件进行常规构建和发布到 PROD 环境时。最好将以下 npm react-clear-cache 用于您的 React 应用程序。这可用于根据您的应用程序构建版本配置缓存清除模式。