首页 > 解决方案 > Angular Service Worker 未在系统 IP 地址上运行

问题描述

我在 Article = https://medium.com/@arjenbrandenburgh/angulars-pwa-swpush-and-swupdate-15a7e5c154ac的帮助下在我的应用程序中实现推送通知

我正在使用 Angular version7 并使用来自 '@angular/service-worker' 的 => SwPush 在我的应用程序中进行推送通知。

要运行应用程序并在我的应用程序中查看推送通知功能,我使用了 2 个命令:

  1. ng build --prod
  2. http-server -p4100 -c-1 dist/my-pwa-app

运行这两个命令后,应用程序显示: 在此处输入图像描述

当我打开http://localhost:4100http://127.0.0.1:4100时,服务工作者正在运行并且推送通知正在运行。

但是当我在浏览器中打开http://172.16.0.201:4100时,应用程序中没有运行服务工作者 => 服务工作者

标签: angularpush-notificationservice-workerprogressive-web-appsangular-pwa

解决方案


这是因为 Service Worker 仅限于 HTTPS 连接,但 localhost 和 127.0.0.1 除外。为了让 SW 在 172.16.0.201(或 localhost 以外的任何地方)中工作,您需要通过 HTTPS 连接提供页面。

此处提供更多信息https://stackoverflow.com/a/34161385/5038943


推荐阅读