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

2次阅读

共计 931 个字符,预计需要花费 3 分钟才能阅读完成。

要应用 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.

正文完
 0