在我更新我的Angular 4 PWA应用程序并进行部署后,用户无法获得新的更新,直到用户清除缓存并刷新浏览器。 Sw没有更新。 即使我按下crome Dev中的更新按钮它也没有更新我必须清除缓存并刷新浏览器。
我用过这些包裹 @ angular / service-worker @ angular / platform-server ng-pwa-tools
答案 0 :(得分:1)
根据您提供的信息,我猜您的网络服务器正在为SW文件提供一些缓存标头,访问者的浏览器使用缓存版本。
确保将缓存标头显式设置为no-cache / -1 / etc。以便浏览器始终检查Web服务器是否有新版本的service-worker.js(或其他)文件。
答案 1 :(得分:0)
确保您的应用在不定时上从服务器检查更新。
在app.component.ts
中,将private swUpdate: SwUpdate
添加到构造函数中。
this.swUpdate.available.subscribe(event => {
if (confirm('Update Available. Refresh the page now to update the cache.')) {
location.reload(true);
} else {
console.log('continue with the older version');
}
});
setInterval(() => {
this.swUpdate.checkForUpdate();
}, 21600);