在Chrome中,我的react服务工作者(使用CRA创建)被永久缓存并服务于旧版本。硬重装不会改变任何东西。如果我进入开发工具并手动选择网络旁路来解决问题,但是显然这不是适用于客户端的解决方案。我们的应用程序与Apache一起提供。基本上,我想知道在这种情况下指定no-cache
的最佳方法吗?
我看到过一些建议在index.html中使用<meta http-equiv="Cache-control">
标签的帖子,但我也读到,最好在Apache conf中指定Cache-control: no-cache
-因此,关于最佳效果的任何明确答案做法将受到欢迎。我也尝试过简单地unregister()
服务工作者无济于事。
// I also tried tweaking my SW configs here
// registerServiceWorker.js
function registerValidSW(swUrl) {
navigator.serviceWorker
.register(swUrl, {
updateViaCache: "none" // <-- optional param
}
尽管我做了什么尝试,但是访问过Chrome旧站点的任何人都“卡住”了当前的旧版本。
答案 0 :(得分:0)
我在Twitter上关注的一个人
我还建议打开src / index.js并在底部删除对registerServiceWorker()的调用,因为这可能会导致一些令人困惑的缓存问题(例如,阻止您在加载React后访问浏览器中的API端点)应用一次)。