预缓存文件夹和子文件夹内容

Pre cache folder and subfolder content

有没有办法预缓存文件夹及其子文件夹中的所有文件?

我想要完成的是这样的:

...
event.waitUntil(
      caches
        .open(version + 'fundamentals')
        .then(function (cache) {
            return cache.addAll([
                "/",
                "/images/*"
...

在你的 service worker 上下文中执行的 JavaScript 不会知道你的文件系统。

如果您想预缓存与特定通配符模式匹配的所有文件,则需要在正在执行的代码可以访问您的文件系统时添加一些构建时工具。然后构建时工具可以将输出提供给服务工作者的 JavaScript 文件,最好是通过一些模板系统。

sw-precache 工具可以为您自动执行此过程,包括生成服务工作者的 JavaScript 并在本地文件系统中的静态资产发生变化时使您的缓存保持最新。

如果您选择不使用像 sw-precache 这样的预打包解决方案,请确保您了解 service worker install/activate 生命周期事件,并且您是正确控制静态资源和缓存的版本。