搜索
您的当前位置:首页正文

Vue笔记九:pwa技术在vue的使用(workbox/sw-p

来源:二三娱乐

提问

历史背景

有很多文章把pwa技术和小程序技术放在一起比较。谷歌浏览器至于pwa,微信至于小程序,都是给网页应用提供了离线缓存静态资源文件的功能,动静分离,native的接口,这些都是给网页应用提供更优质的加载性能。但是小程序并没有BOM和DOM,意味着它对浏览器有着更深入的改造,它并非纯正意义上的网页应用,是对所有Web开发资源的一种限制。

相反,pwa则不一样。

安卓的支持

浏览器的兼容性

重点的重点当然是微信浏览器对pwa的支持情况,我们可以看到除了推送信息和支付接口之外基本已经实现支持(支付接口的支持应该是出于安全的考虑,以及和weixin-js-sdk重叠的原因,X5浏览器支持它只是时间的问题)。如今我们更关心的是关于SW-cache这一部分,换句话说,我们可以放心在安卓微信上使用SW-cache的技术。

安卓微信浏览器的支持情况

ios(苹果)的支持

苹果safari已开始支持service worker

sw-precache 和 workbox

它们之间的区别如下,可以说非常相似:

中文说明 workbox 中文说明 sw-precache
缓存的目录 globDirectory 缓存前缀 stripPrefix
缓存的静态文件类型 globPatterns 缓存的静态文件类型 staticFileGlobs
sw文件路径 swDest sw文件名 filename
让sw立即接管网页 clientsClaim (相同) clientsClaim
激活的等待 skipWaiting (相同) skipWaiting
动态请求 runtimeCaching (相同) runtimeCaching
workbox package

workbox中已经支持很多方面的内容,当然,还有很多内容有待开发。

缓存机制

  • networkFirst
  • cacheFirst
  • fastest
  • cacheOnly
  • networkOnly

networkFirst是显示完成后,SW优先和后端通讯,看接口是否更新,下一次刷新则是采用最新数据内容。cacheFirst则是优先考虑缓存,如果缓存没有命中,才会去请求接口拿新数据,这个选型适合那种不经常更改的内容或者有别的更新机制。fastest则是两个同时进行,哪个快执行哪个。cacheOnly和networkOnly比较不常用。

安全性

Top