Angular PWA 不会在生产环境中更新

2023-12-31

我在 Angular 8 中有一个 PWA。我添加了$ ng add @angular/pwa,并且 PWA 功能似乎可以工作,接受这个问题:当我将新版本推送到生产时,该应用程序是not在人们的浏览器上进行了更新(在 Chrome 和移动 Safari 上进行了测试)。

相反,当用户打开浏览器访问应用程序时,他/她将看到浏览器上之前存在的应用程序的先前(未更新)版本。

只有刷新页面,他们才会看到较新的版本。没有显示错误。

我使用推入生产$ ng build --prod,然后将构建插入到 AWS Amplify 中。

当用户在浏览器中打开应用程序时,该应用程序应始终更新到最新版本。但这并没有发生。

过去几年我在 Stack Overflow 上看到过对此的讨论,例如here https://stackoverflow.com/questions/48146332/angular5-pwa-doesnt-refresh-service-workers and here https://stackoverflow.com/questions/46179907/angular-4-pwa-service-worker-doesnt-update-when-new-updates-available。但这些问题没有公认的答案,给出的建议是关于实施解决方法的。

这个问题的解决办法是什么?


就我而言,该应用程序经过多次迭代,并且提取了大量本地资源。因此,用户仍然看到一周前的版本是一个重大问题。我希望这不是预期的行为——如果是的话,这对 PWA 功能来说是一个很大的缺点。

In the 角度文档 https://angular.io/guide/service-worker-config#updatemode有一些关于“updateMode”的讨论,但在我看来,我的设置已经就位,可以正常工作,但问题仍然存在。这是我的 ngsw-config.json:

{
  "$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",
      "installMode": "lazy",
      "updateMode": "prefetch",
      "resources": {
        "files": [
          "/assets/**",
          "/*.(eot|svg|cur|jpg|png|webp|gif|otf|ttf|woff|woff2|ani)"
        ]
      }
    }
  ]
}

None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular PWA 不会在生产环境中更新 的相关文章

随机推荐

  • PHP implode 数组生成 mysql IN 标准

    我有一个如下所示的函数 public function foo cities array anaheim baker colfax db global instance of Zend Db Adapter Pdo Mysql query
  • 模拟用户输入

    android 可以模拟用户输入吗 例如 有一些服务或一些线程将在后台工作并启动一些模拟用户输入的东西 因此如果我们在主屏幕上并且发生了模拟输入 假设单击 那么如果模拟的坐标是应用程序应该启动单击指向主屏幕上的某个图标 或者如果模拟输入指向
  • 微调器中的默认文本填充是什么

    我有一个微调器和一个风格类似于微调器的文本视图 我想对齐两者中的文本 但我不知道微调器中的文本有多少填充 你可以找到一件事安卓风格 https android googlesource com platform frameworks bas
  • 如何使用 Python 访问 Ring 0?

    这个答案指出Python中类的命名不是由于特殊特权而完成的 here https stackoverflow com questions 5602439 reasons behind naming in easy to confuse py
  • 如何比较 4 列

    我正在使用 Excel 中的表格 以下是工作表的示例 A B C D al id id id df id desc desc df id id desc df id id id ff desc id desc ff desc id desc
  • OS X 上的 sed - 似乎无法在正则表达式中使用 +

    现在根据所有文献 echo 1234abcd sed s 0 9 g 应该输出 abcd 和 echo abcd sed s 0 9 g 应该输出abcd 但在 OS X 10 4 11 上 第一个表达式输出 1234abcd 在第一个示例
  • SSLSocket 创建时发生 Java 异常

    在代码中 System setProperty javax net ssl trustStore cacerts System setProperty javax net ssl trustStorePassword pwdCacerts
  • 我可以在 Kafka 集群中拥有数百个或数千个主题吗?

    我有一个数据流用例 我希望根据每个客户存储库定义主题 可能约为 100 000 个 每个数据流将是一个带有分区的主题 约为几个 10 定义流程的不同阶段 Kafka 适合这样的场景吗 如果不是 我将如何重塑我的用例来处理此类场景 此外 即使
  • Mongoose 错误 - 升级后没有“toObject”方法

    我有一个猫鼬模型 我称之为toObject钩子中的方法 Product post init function if typeof this toObject function works but why do I need it this
  • Javascript环境是什么?

    我是 JavaScript 新手 我正在学习 JS 在幕后如何工作 最近我试图了解执行上下文 我在 google 上读了一些文章 告诉我这是一个奇特的词来描述我们的代码所在的环境被执行 所以这个环境是由什么构成的 它是由函数 this 关键
  • LoadLibraryEx 忽略并排清单

    Does LoadLibraryEx函数使用并排清单 我有带有嵌入式 SxS 清单的 bar dll 该清单描述了该 bar dll 的版本 其他 dll 文件 foo dll 具有将 bar dll 列为依赖项的清单 并具有指定的版本 但
  • 重命名 zip 文件内的文件名

    尝试重命名 zip 文件中的内部文件 而不必以编程方式解压缩然后重新压缩 例子 test zip包含test txt 我想更改它 以便test zip将包含newtest txt test txt重命名为newtest txt 内容保持不变
  • 编译器 PDB 文件和链接器 PDB 文件

    我对编译器和链接器之间的区别感到困惑PDB分别文件 即在 Visual Studio 中 Project Properties gt C C gt Output Files gt Program Database File Name vs
  • NSAlert 没有弹跳停靠图标

    如果你提出一个NSAlert当您的应用程序在后台运行时 您的停靠栏图标开始弹跳并持续弹跳 直到您切换回来 我觉得这很烦人 有谁知道如何禁用单个应用程序 创建您自己的 NSApplication 子类 并实现如下所示 int requestU
  • 基于选择动态改变编码中的 Y 轴字段 Vega-Lite

    如何根据选择动态更改为 y 轴编码的数据字段 我正在尝试构建一个可视化来显示一天 24 小时内的事件计数数据 并且我希望用户能够选择不同的时区 例如 EST CST MST 或 PST 为此 我构建了一个单一选择 在其中指定上面括号中列出的
  • ON 子句中另一个未知列名错误

    Query SELECT c title AS title c introtext AS body c state AS state c created AS created c created by AS uid c modified A
  • 在 Google Colab 中使用笔记本电脑网络摄像头进行实时 YOLO 对象检测

    我正在使用网络摄像头在本地系统上使用 YOLOv3 和 OpenCV 进行实时对象检测 一切都像魅力一样运作链接在这里 https github com pdhruv93 YOLO Object Detection blob master
  • CS231n:如何计算Softmax损失函数的梯度?

    我正在观看斯坦福 CS231 用于视觉识别的卷积神经网络的一些视频 但不太明白如何使用计算 softmax 损失函数的解析梯度numpy From 这个堆栈交换 https math stackexchange com questions
  • Video.js 具有空源

    无论如何 我可以放置 video js 而无需在视频标签上设置源吗 Video js 启动时没有源而失败 我想放置没有源的 video js 并从 js api 层设置源 同样的问题 但没有人回答 VideoJS 没有源码吗 https s
  • Angular PWA 不会在生产环境中更新

    我在 Angular 8 中有一个 PWA 我添加了 ng add angular pwa 并且 PWA 功能似乎可以工作 接受这个问题 当我将新版本推送到生产时 该应用程序是not在人们的浏览器上进行了更新 在 Chrome 和移动 Sa