首页 > 解决方案 > 是否有可重用的 Service Worker 用于缓存?

问题描述

给定一个包含多个 HTML 文件的简单静态网站。我希望网站在加载后可以离线使用。

是否有一个通用的 Service Worker(CDN 上的库),我可以通过引用.js?

我想用新的 HTML 页面和资源(图像)扩展我的网站,而无需更改 Service Worker 代码。当然,新资源只有在加载后才能离线使用。

标签: cdnservice-workerprogressive-web-appspwa

解决方案


我想您的问题是如何缓存您定期添加的应用程序的新静态文件,而无需更改服务人员。

您可以在路径/文件夹下使用通配符进行缓存。如果您在“/assets”下拥有所有图像,则可以将其添加到服务工作者,如下所示(这是角度服务工作者语法。您的服务工作者可能看起来不同。但关键是“/assets/**”)。您可以对尽可能多的路径执行此操作。

例如,您可以选择在 /api/ 下提供 API 或动态数据,并且可以将其从缓存中排除。

{
    "name": "assets",
    "installMode": "lazy",
    "updateMode": "prefetch",
    "resources": {
      "files": [
        "/assets/**"
      ]
    }
  }

推荐阅读