关于angular:Angular-应用要启用-Service-Worker-所需满足的一些前提条件

要应用 Angular 服务工作者的所有性能,请应用最新版本的 Angular 和 Angular CLI。

以后 SAP 电商云 Spartacus UI 应用的 Angular 版本:^13.3.0

要注册 Service Worker,必须通过 HTTPS 而不是 HTTP 拜访应用程序。 浏览器会疏忽通过不平安连贯提供服务的页面上的服务工作者。 起因是 Service Worker 提供了弱小的 HTTP 申请拦挡性能,因而须要分外小心以确保 Service Worker 脚本没有被篡改。

这条规定有一个例外:为了使本地开发更间接,浏览器在拜访 localhost 上的应用程序时不须要平安连贯。

要从 Angular Service Worker 中受害,Angular 应用程序必须在通常反对 Service Worker 的 Web 浏览器中运行。 目前,最新版本的 Chrome、Firefox、Edge、Safari、Opera、UC 浏览器(Android 版)和三星互联网都反对 Service Worker。 IE 和 Opera Mini 等浏览器不反对 service worker。

如果用户应用不反对 Service Worker 的浏览器拜访 Angular 应用程序,则 Service Worker 没有注册,并且不会产生离线缓存治理和推送告诉等相干行为。 进一步来说:

  • 浏览器不会下载 service worker 脚本和 ngsw.json 清单文件
  • 被动尝试与 service worker 交互,例如调用 SwUpdate.checkForUpdate() 的行为,均会返回被回绝的 Promise
  • 相干服务的可察看事件,例如 SwUpdate.available 不会被触发

Angular 官网强烈建议开发人员确保,即便在浏览器中没有 service worker 反对的状况下您的应用程序也能失常工作。 只管不受反对的浏览器会疏忽 Service Worker 缓存,但如果应用程序尝试与 Service Worker 交互,它仍会报告谬误。 例如,调用 SwUpdate.checkForUpdate() 返回被回绝的 Promise. 为防止在 Chrome 开发者工具 console 面板察看到此类谬误音讯,请查看是否应用 SwUpdate.isEnabled 启用了 Angular Service Worker.

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理