【问题标题】:service worker affecting non-GET requests when online - @angular/pwa在线时影响非 GET 请求的服务人员 - @angular/pwa
【发布时间】:2020-03-11 08:42:19
【问题描述】:

我在我的项目中添加了一个 Service Worker,GET 请求在线和离线都能完美运行。
但是我在联机时遇到了非 GET 请求的问题。
当我使用 http-server 加载网站时(激活服务人员),
似乎服务人员拦截了它们。 并且它永远不会以相同的方法将 POST/DELETE 请求转发到服务器。
它不是向服务器发送 DELETE/POST 请求,而是向同一路径发送 GET 请求(这显然没有帮助) 当然,该项目不会被删除:

ngsw-config.json:

localhost:3000 是服务器。

当我使用 ng serve(没有服务人员)加载网站时,一切正常。

谁能告诉我如何解决?

【问题讨论】:

  • 请分享您的 ngsw-config.json,以便我检查使用的缓存策略。
  • 好的。我会附上文件的截图

标签: javascript angular typescript progressive-web-apps angular-pwa


【解决方案1】:

为了从缓存中获取最新响应,您需要在 ngsw-config.json 文件中指定缓存策略(新鲜度或性能)。

assetGroups之后添加dataGroups下面的键:

"dataGroups": [{
    "name": "GiveAnySuitableName",
    "urls": [
      "/**",
    ],
    "cacheConfig": {
      "strategy": "freshness",
      "maxSize": 100,
      "maxAge": "3d",
      "timeout":"3s"
    }
  }
]

Angular PWA 官方文档:https://angular.io/guide/service-worker-config

【讨论】:

    猜你喜欢
    • 2019-11-01
    • 2018-11-08
    • 2021-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-20
    相关资源
    最近更新 更多