在工作箱中预缓存文件有什么意义?
What is the point in precaching files in workbox?
所以我正在读这个:
https://developers.google.com/web/tools/workbox/guides/precache-files/
上面写着:
Precaching a file will ensure that a file is downloaded and cached before a
service worker is installed, meaning that if your service worker is installed,
your files will be cached.
示例中描述了service worker会下载3个文件,也就是指定的3个文件。
鉴于我正在使用 webpack 插件,并且我的预缓存清单文件包含 所有 捆绑的 .js 文件,这是否意味着当我访问该网站时第一次,我下载了几乎所有的东西? (这不会使 Workbox 的实现对 PWA 无用吗?)
拥有一个需要通过版本控制跟踪所有 .js 文件的文件有什么意义?
我还检查了控制台,在“网络”选项卡中,浏览器似乎没有下载所有内容,所以我不确定应用程序之间的 link(或缺少)只加载了什么它需要,清单文件几乎引用了所有内容。
您正确理解了预缓存的意义。
如果您的 webpack 构建包含许多 "optional" 大多数用户不太可能需要的资源,那么修剪资产列表以进行预缓存是个好主意。您不必预先缓存所有内容。
您可以使用插件配置中的 include
/exclude
选项来 white/blacklist 资产文件名模式,includeChunks
/excludeChunks
来 white/blacklist 整块。还有更多详情in the docs.
所以我正在读这个:
https://developers.google.com/web/tools/workbox/guides/precache-files/
上面写着:
Precaching a file will ensure that a file is downloaded and cached before a
service worker is installed, meaning that if your service worker is installed,
your files will be cached.
示例中描述了service worker会下载3个文件,也就是指定的3个文件。
鉴于我正在使用 webpack 插件,并且我的预缓存清单文件包含 所有 捆绑的 .js 文件,这是否意味着当我访问该网站时第一次,我下载了几乎所有的东西? (这不会使 Workbox 的实现对 PWA 无用吗?)
拥有一个需要通过版本控制跟踪所有 .js 文件的文件有什么意义?
我还检查了控制台,在“网络”选项卡中,浏览器似乎没有下载所有内容,所以我不确定应用程序之间的 link(或缺少)只加载了什么它需要,清单文件几乎引用了所有内容。
您正确理解了预缓存的意义。
如果您的 webpack 构建包含许多 "optional" 大多数用户不太可能需要的资源,那么修剪资产列表以进行预缓存是个好主意。您不必预先缓存所有内容。
您可以使用插件配置中的 include
/exclude
选项来 white/blacklist 资产文件名模式,includeChunks
/excludeChunks
来 white/blacklist 整块。还有更多详情in the docs.