首页 > 解决方案 > ServiceWorker 没有更新,在 React 应用程序中跳过等待

问题描述

当我对 React 应用程序进行新的生产构建时,会安装新的服务工作者,但会进入跳过等待状态。因此,我必须在每个在实时站点上不好的构建上硬重置缓存。

我不能告诉每个客户,“请清除缓存以查看最新消息”。如果我从索引文件中删除 registerServiceWorker() 则构建生产不会检测到我的路由,因此它会重定向到 404。

标签: reactjsreact-reduxreact-routerservice-worker

解决方案


我为我的项目使用了 react-rewired-app 样板,并在其中遇到了问题。现在我用config-overrides.js文件中的一堆代码解决了这个问题

config.plugins.forEach((obj) => {
  if (obj.config) {
    if (obj.config.clientsClaim) {
      obj.config.skipWaiting = true
    }
  }
});

推荐阅读