Angular 10 服务工作者如何配置 ngsw-config.json

问题描述

我一直在为我的 ngsw-config.json 文件苦苦挣扎,特别是在 dataGroups 部分,请求响应永远不会被缓存。我尝试了上千种不同的方法,但结果或多或少都差不多,得到了很多数据差异,并且有几个服务工作者同时注册或说他们是多余的。

当涉及到本地转译文件时,即使它们看起来已被缓存,但每当我从 Web 检查器本身离线时,我什至无法在没有收到 504 错误的情况下进行刷新。我显然错过了一些东西。

{
  "$schema": "./node_modules/@angular/service-worker/config/schema.json","index": "/index.html","assetGroups": [
    {
      "name": "app","installMode": "prefetch","resources": {
        "files": [
          "/favicon.ico","/index.html","/manifest.webmanifest","/*.css","/*.js"
        ]
      }
    },{
      "name": "assets","updateMode": "lazy","resources": {
        "files": [
          "/assets/**","/*.(eot|svg|cur|jpg|png|webp|gif|otf|ttf|woff|woff2|ani)"
        ]
      }
    }
  ],"dataGroups": [
    {
      "name": "apis","urls": [
        "!https://api:3001/orders/","!https://api:3001/health/","!https://api:3001/reports/","!https://api:3001/orders/**","!https://api:3001/health/**","!https://api:3001/reports/**","https://api:3001/companies","https://api:3001/commerces","https://api:3001/categories","https://api:3001/products","https://api:3001/paymentTypes","https://api:3001/modifierGroups","https://api:3001/users","https://api:3001/modifierGroupProducts","https://api:3001/profiles","https://api:3001/cities","https://api:3001/companies/**","https://api:3001/commerces/**","https://api:3001/categories/**","https://api:3001/products/**","https://api:3001/paymentTypes/**","https://api:3001/modifierGroups/**","https://api:3001/users/**","https://api:3001/modifierGroupProducts/**","https://api:3001/profiles/**","https://api:3001/cities/**"
      ],"cacheConfig": {
        "maxAge": "2d","maxSize": 100,"timeout": "5s","strategy": "freshness"
      }
    }
  ]
}

为了演示目的明显改变了端点,正确的端点以相同的格式放置

另一件事是,当 ngsw 更改或部署新版本的应用程序时,不影响用户的正确方法是什么?由于不得不从“应用程序”选项卡中删除所有数据并在某些情况下取消注册软件,这导致我在某些情况下遇到了一些错误,因此我一直在努力测试它。

非常感谢任何帮助,这让我发疯。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...