我在我的项目中添加了一个 Service Worker,并且 GET 请求在线和离线都能完美运行。
但我在线时遇到非 GET 请求的问题。
当我使用 http-server 加载网站时(以激活服务工作人员),
看起来服务人员拦截了他们。
并且它永远不会以相同的方法将 POST/DELETE 请求转发到服务器。
它不是向服务器发送 DELETE/POST 请求,而是向同一路径发送 GET 请求(这显然没有帮助)
当然,该项目不会被删除:
localhost:3000 是服务器。
当我使用 ngserve(没有服务人员)加载网站时,一切都运行良好。
谁能告诉我如何修复它?
最佳答案
为了从缓存中获取最新响应,您需要在 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
关于javascript - 在线时影响非 GET 请求的服务 worker - @angular/pwa,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60632097/