如何强制已部署的Angular服务工作者进行更新?

时间:2020-01-16 18:34:20

标签: angular angular-service-worker

在对Angular 7 PWA的最新更新中,我添加了服务工作者的基本实现。它似乎运行良好,并在后台下载更新时为用户提供了该应用程序。如果我发布了Web应用程序的更新版本,则服务工作者将继续提供旧版本,直到用户重新加载Web应用程序(刷新,F5等)为止。

到目前为止,一切都很好,但是直到用户刷新页面后,我计划发布的更新才能正常工作。该应用程序的旧版本无法与新版本的API配合使用。我认为将“ updateMode”设置为“ prefetch”会阻止这种情况(请参见下面的代码)。

有没有一种方法可以部署用户可以立即看到并使用的更新,而无需刷新?

如何通过不断更新来改善这种情况?

我的ngsw-config.json当前看起来像这样:


Thanks for any advice!
{
  "index": "/index.html",
  "assetGroups": [
    {
      "name": "app",
      "installMode": "prefetch",
      "updateMode": "prefetch",
      "resources": {
        "files": [
          "/favicon.ico",
          "/index.html",
          "/*.css",
          "/*.js"
        ]
      }
    }, {
      "name": "assets",
      "installMode": "lazy",
      "updateMode": "prefetch",
      "resources": {
        "files": [
          "/assets/**",
          "/*.(eot|svg|cur|jpg|png|webp|gif|otf|ttf|woff|woff2|ani)"
        ]
      }
    }
  ]
}

0 个答案:

没有答案