Angular 4 PWA Service Worker doesn't update wh

2020-06-17 14:28发布

After i update my Angular 4 PWA app and deployed , user not getting new updates until user clear the cache and refresh the browser. Sw doesn't update. Even i press the update button in crome Dev it doesn't update I have to clear the cache and refresh the browser.

I used these packages @angular/service-worker @angular/platform-server ng-pwa-tools

2条回答
女痞
2楼-- · 2020-06-17 14:41

Make sure your app checks for updates from the server from time to time.

In the app.component.ts add private swUpdate: SwUpdate into the constructor.

 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);
查看更多
够拽才男人
3楼-- · 2020-06-17 14:58

Based on the information you've provided I guess your web server is serving the SW file with some caching headers and the visitors' browsers use the cached version.

Be sure to explicitly set the caching headers to no-cache/-1/etc. so that the browser always checks the web server for a new version of the service-worker.js (or whatever) file.

查看更多
登录 后发表回答