如何清除reactjs中的浏览器缓存

时间:2018-07-06 09:46:35

标签: javascript reactjs page-refresh

每次我对网站进行更改并尝试将这些更改更新为正在运行的网站时,都必须刷新浏览器。有什么办法可以通过代码完成

我已经尝试搜索它,但是大多数都说它无法完成。 参考站: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

7 个答案:

答案 0 :(得分:2)

在您的开发人员工具中。找到网络选项卡,然后禁用缓存。就像图片中的这里一样。

enter image description here

答案 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 应用程序。这可用于根据您的应用程序构建版本配置缓存清除模式。