我是Web应用程序开发的新手,请原谅我的问题。
我刚刚注意到,我使用create-react-app创建的网络应用已安装了service worker,并将其上传到服务器,当我从本地Chrome浏览器打开该应用后,该应用不会在构建后重新加载,即使我多次重新加载服务器上的节点,然后重新加载Chrome浏览器。
我从应用程序中删除了服务人员,现在Chrome始终可以获取新应用程序。
我该如何“强迫”服务工作者在自己的应用程序中进行自我更新,以便每次将其推送到服务器时始终获得新的构建应用程序?
如果我必须添加此Cache-Control: no-cache
或其他缓存机制https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control,那么服务工作者的用途是什么?
答案 0 :(得分:0)
如果处于Dev模式,理想的解决方案将不允许安装Service worker。对于您的开发工作流,您始终希望您的新代码没有服务人员的缓存副作用。您可以通过-
if ( process.env.NODE_ENV === "PRODUCTION") {
// service worker init code
}
还要确保分别为您的prod和dev脚本设置NODE_ENV = PRODUCTION或NODE_ENV = DEVELOPMENT。
希望这会有所帮助!
更新
一些可以帮助您实现sw生命周期的项目-