问题描述
我有一个使用Vue构建的PWA,每天都有数百名用户使用。当然,有一个服务工作者可以缓存所有静态资产。每当推送和部署新版本时,都会出现一个按钮,提示用户将其PWA更新为最新版本。
我们正在对该应用程序进行完全重写,并希望现在使用React + Next.js代替Vue。
是否有任何理智方法可以使我们的用户顺利过渡?我希望在我们部署新应用程序时为他们提供新的应用程序,但是考虑到所有基础文件将有所不同,那些安装了以前的服务工作者的人将永远无法获得新的,完全重写的应用程序。
解决方法
如何将更新推送到现有版本,以使服务人员进行某种检查以查看是否需要清除自身?像检查哈希,文件,日期或类似内容一样,可以知道何时使自己无效/清除并加载新的东西。
这样,当您上传新版本时,旧版本将看到新版本已启动并可以重新加载到新版本中。