3

所以我在读这个:

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 插件,并且我的 precache-manifest 文件包含我捆绑的所有.js 文件,这是否意味着当我第一次访问该网站时,我几乎下载了所有内容?(这不会使 Workbox 的实现对 PWA 毫无用处吗?)

拥有一个需要使用版本控制跟踪所有 .js 文件的文件有什么意义?

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

4

1 回答 1

2

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

如果您的 webpack 构建包含许多大多数用户不太可能需要的“可选”资源,那么修剪资产列表以进行预缓存是一个好主意。您不必预先缓存所有内容。

您可以使用插件配置中的include/选项将资产文件名模式列入白名单/黑名单,并/将整个块列入白名单/黑名单。文档中有更多详细信息。excludeincludeChunksexcludeChunks

于 2018-05-24T20:16:21.913 回答