当前位置: 首页 > 知识库问答 >
问题:

React服务工作人员被永久缓存在Chrome中

宰父深
2023-03-14

在Chrome中,我的react service worker(使用CRA创建)被永久缓存并服务于旧版本。硬重新加载不会改变任何东西。如果我在开发工具中手动选择bypass for network来修复问题,但显然这不是一个适用于客户端的解决方案。我们的应用程序由Apache提供。基本上,我想知道在这种情况下指定无缓存的最佳方法是什么?

我看到过一些帖子建议使用

// I also tried tweaking my SW configs here
// registerServiceWorker.js

function registerValidSW(swUrl) {
  navigator.serviceWorker
    .register(swUrl, {
      updateViaCache: "none" // <-- optional param
    }

尽管我已经尝试过了,但是任何访问过Chrome旧站点的人都会被当前的旧版本“卡住”。


共有1个答案

康元凯
2023-03-14

从一个我在推特上关注的人那里,

我还建议开放src/index。js并删除底部对registerServiceWorker()的调用,因为这可能会导致一些令人困惑的缓存问题(例如在加载React应用程序一次后阻止您访问浏览器中的APIendpoint)。

在这篇博文中

 类似资料:
  • 我建立了一个进步的网络应用,https://www.tavest.com.我不明白为什么我的服务人员也被缓存在Chrome中?https://www.tavest.com/service-worker-tavest.js因此,当我更改服务人员时,chrome没有检测到更改,因此服务人员没有更新。 尽管我刷新了很多次页面,它仍然是一样的。然而,在Mozilla中,它工作得很好。这是我安装服务人员的代

  • 我试图将PWA添加到项目中,但未成功。服务工作者不会缓存服务器请求。请求地址未添加到缓存存储中。因此,脱机模式不起作用。 项目配置: vue水疗中心 使用axios库向服务器发出的请求 服务器响应不包含缓存控制标头 pwa是使用标准vue插件实现的:vue/cli插件pwa vue中的PWA配置。配置。js: 还有这个:浏览器中的开发者控制台-

  • 我很难让我的angular5服务人员工作。我有两个主要问题: 服务工作者不缓存用作背景图像的资产图像 在模拟网络断开连接后,服务工作人员最初从缓存中提取文件(除了前面提到的非缓存文件),但在第二次刷新后,它会遇到错误。 下面是我的问题的更详细的报告。您可以通过克隆我所做的回购来强调这个问题。 我创建了带有--service-Worker标记的应用程序。然后我确保了Angular留档中列出的5个步骤

  • 我们在reactjs应用程序中安装了离线插件,该应用程序使用service worker缓存构建文件,未检查新构建的任何更新,因此,具有旧构建的用户仍在使用service worker中的缓存数据访问旧站点。这些文件没有过期设置,所以我想知道是否有任何解决方案可以强制用户刷新页面或将更新推给用户? 我在新版本中进行了更新,没有缓存头,离线插件自动更新,但我仍然无法找到将此更新推送到旧用户文件的方法

  • 从我的Service Worker中,我在浏览器缓存中保存了一些资产,以及Service Worker脚本本身,它工作正常,这样我就可以在我的devols缓存选项卡中看到Service Worker url和所有其他资产。 现在,当我脱机时,我的服务人员将侦听事件并从缓存中获取所有资产。 但是,当页面尝试注册工作程序本身时,似乎没有获取事件,因此我在控制台中遇到以下错误: 控制台错误 控制台ero

  • 我正在开发一个渐进式web应用程序,目的是缓存所有离线使用的资产。这是我的服务人员 无论我是否在线,服务工作人员都无法缓存一些资产(在本例中bundle.js),并破坏了我的缓存优先系统,即使我在注册工作人员时记录了一条成功消息。 https://postimg.org/gallery/2yo1ig35y/