我有一个基于 webpack 的 Reactjs PWA 和 offline-plugin 。目前我有一个基于 Webpack 3 的工作应用程序。我将 webpack 版本更新到 4,现在我想发布我的新版本。但我这里有一个大问题。当我在缓存旧版本的设备中将 PWA 升级到 webpack 4 时,服务工作人员不会检测到更改,也不会更新应用程序。 有人可以帮助我解决这个问题吗?
这是我更新的代码,它在 webpack 3 上运行良好,但不适用于从 webpack 3 迁移到 4:
const runtime = require('offline-plugin/runtime');
runtime.install({
onUpdating: () => {
console.log('SW Event:', 'onUpdating');
},
onUpdateReady: () => {
console.log('SW Event:', 'onUpdateReady');
runtime.applyUpdate();
},
onUpdated: () => {
console.log('SW Event:', 'onUpdated');
window.location.reload();
},
onUpdateFailed: () => {
console.log('SW Event:', 'onUpdateFailed');
}
});
最佳答案
我自己终于找到了解决方案。问题是,我的新 block 名称与以前的版本不完全相同。因此,在升级 webpack 时,您的新 Service Worker 名称和新 block 名称应该与之前的版本完全相同。
关于reactjs - 从 webpack 3 迁移到 4 时清除当前用户设备上的缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57339054/