【问题标题】:Is it possible to force clear cache users browser on new build version?是否可以在新版本上强制清除缓存用户浏览器?
【发布时间】:2019-05-07 06:24:54
【问题描述】:

在 create-react-app 中,如果我的 Web 应用程序有新的构建版本,我可以强制清除缓存用户吗?我的临时站点存在这个问题,我必须清除浏览器的缓存,以便它可以反映我的更改。

【问题讨论】:

  • 显示一个弹出窗口,告诉用户刷新或清除缓存怎么样?
  • 请记住,ISP 也会缓存内容。我在一个简单的 webpack 配置中遇到了同样的问题,我总是导出 main.bundle.js。 ISP 记得(或某处)并返回旧的。正确的方法是做类似main.${someRandomGen}.bundle.js

标签: reactjs create-react-app


【解决方案1】:

要显示您应用的最新版本,您必须取消注册 Service Worker。所以 service worker 所做的就是提供类似于 redux-persist 的功能。它在本地保存 css 和 html,以在连续刷新时提供更好的性能。因此,每当您部署新更改时,它都不会反映。默认情况下 create-react-app 集成了服务工作者。以下是取消注册的代码:-

import * as serviceWorker from './serviceWorker';

serviceWorker.unregister();

希望这会有所帮助。

【讨论】:

  • 这根本不是解决方案。某些应用需要 Service Worker 才能获得 PWA 功能和推送通知。
猜你喜欢
  • 2020-04-01
  • 2016-02-18
  • 1970-01-01
  • 2018-04-18
  • 2016-10-01
相关资源
最近更新 更多