Web应用程序中的Reactjs服务工作者

Web应用程序中的Reactjs服务工作者,reactjs,browser,service-worker,Reactjs,Browser,Service Worker,我是网络应用开发新手,请原谅我的问题 我刚刚注意到,我使用安装了service worker的create react app创建的一个web应用程序,在从本地Chrome浏览器打开它时,它不会在构建后重新加载新应用程序,即使我在服务器上多次重新加载节点,并硬重新加载Chrome浏览器 我从我的应用程序中删除了服务人员,现在Chrome总是能得到新的应用程序 我如何“强制”服务人员在我的应用程序中进行自我更新,以便每次将新的构建应用程序推送到服务器时都能得到它 如果我必须添加此缓存控制:无缓存或

我是网络应用开发新手,请原谅我的问题

我刚刚注意到,我使用安装了service worker的create react app创建的一个web应用程序,在从本地Chrome浏览器打开它时,它不会在构建后重新加载新应用程序,即使我在服务器上多次重新加载节点,并硬重新加载Chrome浏览器

我从我的应用程序中删除了服务人员,现在Chrome总是能得到新的应用程序

我如何“强制”服务人员在我的应用程序中进行自我更新,以便每次将新的构建应用程序推送到服务器时都能得到它


如果我必须添加此
缓存控制:无缓存
或其他缓存机制,那么service worker有什么用?

理想的解决方案是不允许在开发模式下安装service worker。对于您的开发工作流,您总是希望新代码不受服务人员缓存副作用的影响。你可以这样做,比如-

if ( process.env.NODE_ENV === "PRODUCTION") {
  // service worker init code
}
还要确保为各自的prod和dev脚本设置NODE_ENV=PRODUCTION或NODE_ENV=DEVELOPMENT


希望这有帮助!是的,我就是这么做的。对不起,也许我的解释不清楚。当我将它构建并部署到我的生产服务器(互联网)时,它仍然会显示过时的应用程序。这就是为什么我必须从我的代码中删除服务人员,以便它显示最新的应用程序。嘿,Eko!一定要看看这个答案。我想这就是你想要的。谢谢你,这并没有回答我的问题,但它消除了我对如何使用最佳实践服务人员的困惑。