Vue PWA预缓存清单与HTML预取链接

问题描述 投票:0回答:1

我想知道,当使用CLI构建Vue PWA应用并将所有配置设为默认值时,我构建的应用为:

  • 使用HTML预取链接在初始加载时预取所有块
  • 使用Workbox的PWA机制缓存所有块

这两种机制如何相互作用,我应该禁用两者之一吗?

谢谢!

index.html <HEAD>:中的预取机制:

enter image description here

[C0中的预缓存清单:

service-worker.js

vue.js service-worker progressive-web-apps workbox link-prefetch
1个回答
0
投票
他们发生冲突。浏览器多次下载它们。

最有可能发生的事情(我是说最有可能的原因是,预取链接是浏览器的提示,不同的浏览器可能以不同的方式和优先级实现其使用):

    浏览器获取HTML
  1. 浏览器看到预取链接
  2. 有时,浏览器开始下载链接供以后使用
  3. 注册Service Worker后,将预缓存所有相同的资产
  4. [在以后访问/重新加载页面时,所有资产都来自SW的缓存,并且没有再次下载任何内容
  • 发生双重下载是因为SW的预缓存事物使用缓存破坏,并尝试下载enter image description here之类的资产,因此即使您的文件已经在名称中包含哈希值,预缓存机制也不满意。

    实际上,如果您查看Workbox预缓存插件的文档,您会发现他们建议您删除修订(哈希),以检查是否已在文件名中使用哈希值。

  • © www.soinside.com 2019 - 2024. All rights reserved.