Javascript 角度渐进式web应用程序在本地主机上工作,但不在IP上工作

Javascript 角度渐进式web应用程序在本地主机上工作,但不在IP上工作,javascript,node.js,angular,typescript,progressive-web-apps,Javascript,Node.js,Angular,Typescript,Progressive Web Apps,我开发了Angular progressive应用程序,在本地主机3004上运行时效果很好,就像我在浏览器中打开然后关闭服务器一样,它可以很好地处理缓存数据。 但当我在ip上运行它时,即192.168.33.123:3004,它会打开,而当我关闭服务器时,它不会工作。 我还遵循了有关此链接的完整指南: 以下是在localhost中运行时的渐进式应用程序审核: 这是在ip 192.168.33.123:3004上运行时的审计。 ] 我想不出错误在哪里。 这个问题是当我使用localhost打开浏

我开发了Angular progressive应用程序,在本地主机3004上运行时效果很好,就像我在浏览器中打开然后关闭服务器一样,它可以很好地处理缓存数据。 但当我在ip上运行它时,即192.168.33.123:3004,它会打开,而当我关闭服务器时,它不会工作。 我还遵循了有关此链接的完整指南:

以下是在localhost中运行时的渐进式应用程序审核:

这是在ip 192.168.33.123:3004上运行时的审计。 ]

我想不出错误在哪里。 这个问题是当我使用localhost打开浏览器时,在chrome控制台的“应用程序”选项卡中,它显示已注册的服务人员。但当我使用ip打开时,在应用程序选项卡中并没有显示任何已注册的服务工作者

这里是我的服务人员文件

{
  "$schema": "./node_modules/@angular/service-worker/config/schema.json",
  "index": "/index.html",
  "assetGroups": [
    {
      "name": "app",
      "installMode": "prefetch",
      "resources": {
        "files": [
          "/favicon.ico",
          "/index.html",
          "/*.css",
          "/*.js"
        ]
      }
    }, {
      "name": "assets",
      "installMode": "lazy",
      "updateMode": "prefetch",
      "resources": {
        "files": [
          "/assets/**",
          "/*.(eot|svg|cur|jpg|png|webp|gif|otf|ttf|woff|woff2|ani)"
        ]
      }
    }
  ]
}

通过删除$schema更新您的serivce worker,我的配置与您的相同

{
  "index": "/index.html",
  "assetGroups": [
    {
      "name": "app",
      "installMode": "prefetch",
      "resources": {
        "files": [
          "/favicon.ico",
          "/index.html",
          "/*.css",
          "/*.js"
        ]
      }
    }, {
      "name": "assets",
      "installMode": "lazy",
      "updateMode": "prefetch",
      "resources": {
        "files": [
          "/assets/**",
          "/*.(eot|svg|cur|jpg|png|webp|gif|otf|ttf|woff|woff2|ani)"
        ]
      }
    }
  ]
}

出现此问题的原因是,当您构建到生产模式时,您的代码正在查找此文件。/node_modules/@angular/service worker/config/schema.json。所以你的服务人员将无法工作。

我也有同样的问题,在Azure上托管。但我找到了解决办法。
只需在web.config中添加以下行:



我们来看一看:只有设置一名服务人员,你的应用程序才不会进入pwa。还有一些工作要做。我已经浏览了这个链接,还添加了清单文件。出于安全目的,服务工作者只在本地主机或https上工作。这就是为什么你找到了12个不安全的请求。这才是真正的问题。不,但我明白了。服务仅在本地主机或https上运行,我正在尝试使用,因此它未注册