【问题标题】:Angular Service Worker - dataGroups not workingAngular Service Worker - 数据组不起作用
【发布时间】:2020-08-20 16:14:31
【问题描述】:

我正在尝试使用 Angular Service Worker,一切正常,除了 dataGroups 不适合我。

这就是我在ngsw-config.json 中的内容:

{
  ...
  "dataGroups": [
    {
      "name": "api-performance",
      "urls": [
        "/shipments/**"
      ],
      "cacheConfig": {
        "strategy": "performance",
        "maxSize": 100,
        "maxAge": "3d"
      }
    }
  ]
}

在我的网络选项卡中,我看到服务人员总是进行服务器调用,然后回退到缓存。见附图。

dataGroups - Performance

请注意,我调用的 API 位于不同的服务器上,localhost 与 some-server:8000, 我尝试了不同的使用不同的 URL: "/shipments/**" "/shipments" "http:some-server:8000/shipments/**" 等,但没有任何效果。

我的环境:

  • @angular 5.1.1
  • Service-Worker 5.1.2
  • Angular-Cli 1.6.0

【问题讨论】:

标签: angular angular-cli angular5 angular-service-worker


【解决方案1】:

我找到了解决方案,我的 api 和 ui 不在同一台服务器上,在同一台服务器上更改它们,并将配置更新为下面的代码,并在我的网站上使用 HTTPS,一切正常:

"dataGroups": [
    {
      "name": "api-performance",
      "urls": [
        "/shipments"
      ],
      "cacheConfig": {
        "strategy": "performance",
        "maxSize": 100,
        "maxAge": "3d"
      }
    }
  ]

【讨论】:

  • 你好@Nadhir,如果它在HTTPS上,你知道它是否可以通过将API保留到另一个IP来工作?
  • 嗨@Gilsdav我认为你可以做到这一点。查看 Stephen Fluin 的这个例子,一个角度团队 github.com/StephenFluin/fluin.io/blob/master/src/…
  • @nadir 链接不可用
  • @NadhirFalta 我希望 api 在不同服务器上时缓存 api 响应
  • @AnkitRaonka 到您可能已经找到解决方案时,但对于可能最终出现在这里的其他人,您只需将 Urls 添加为 Absolute Urls
猜你喜欢
  • 2020-02-05
  • 2018-07-21
  • 2021-03-12
  • 2018-07-12
  • 2019-01-07
  • 1970-01-01
  • 2019-12-11
  • 1970-01-01
  • 2019-07-05
相关资源
最近更新 更多