微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如果我们将本地构建项目上传到服务器,则不会触发 Angular Service Worker SwUpdate.available

如何解决如果我们将本地构建项目上传到服务器,则不会触发 Angular Service Worker SwUpdate.available

当我们的 Angular PWA 有可用的新更新时,我们会显示一个底部表格。它位于 SwUpdate.available 方法中。 SwUpdate.available 仅在我们在服务器中运行构建命令时触发。如果我们在本地运行 build 命令并将文件上传到服务器,则不会发生任何事情。由于我们的服务器内存较少,因此构建命令在服务器上的大部分时间都会失败。

@Component({
  selector: 'app-root',templateUrl: './app.component.html',styleUrls: ['./app.component.scss'],})
export class AppComponent implements OnInit {
 
  constructor(
    private swUpdate: SwUpdate,private _bottomSheet: MatBottomSheet,) {
    this.checkForUpdates();
  }

  ngOnInit() {}
  
  checkForUpdates() {
    this.swUpdate.available.subscribe(event => {
      this.swUpdate.activateUpdate().then(() => {
        this.openBottomSheet();
      });
    });
  }

  openBottomSheet(): void {
    this._bottomSheet.open(UpdateBottomSheetComponent);
  }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。