在工作箱中预先缓存文件有什么意义?

时间:2018-05-22 15:53:12

标签: webpack 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.

在该示例中,它描述了服务工作者将下载3个文件,这些文件是指定的3个文件。

鉴于我正在使用webpack插件,并且我的precache-manifest文件包含所有我捆绑的.js文件,这是否意味着当我第一次访问该网站时,我几乎下载了所有东西? (这不会使Workbox的实现对PWA无用吗?)

有一个文件需要通过版本控制来跟踪所有.js文件吗?

我还检查了控制台,在网络选项卡中,浏览器似乎没有下载所有内容,因此我不确定应用程序之间的链接(或缺少链接)只加载它需要的内容和清单文件几乎引用了所有内容。

1 个答案:

答案 0 :(得分:1)

您正确理解了预先缓解的意义。

如果您的webpack版本包含许多"可选"大多数用户不太可能需要的资源,然后将资产列表修剪为预先缓存是一个好主意。你不必预先处理所有事情。

您可以将插件配置中的include / exclude选项用于白名单/黑名单资产文件名模式,将includeChunks / excludeChunks用于白/黑名单整个大块。还有更多详细信息in the docs