service worker在性能优化中的应用

1,115 阅读1分钟

service worker在性能优化中的应用

以下 service worker 简称 sw

背景

性能优化要做到极致的话,sw这一环就不能错过了

适用场景

适用于:

  1. 2C业务
  2. 用户会重复访问该平台,并且需要离线体验的能力
  3. 存在Long Task(密集的cpu计算)会造成页面卡顿,用户操作不流畅

公司对内的平台能用吗?

  • 肯定可以,但sw的成本比较高,可以先把一些成本低 效果又好的性能优化先做了。

功能点

主要是下面2点

  1. 提供离线能力

    • sw可以作为 浏览器和服务端之间的中间层,可以代理浏览器端的所有请求,他可以拦截网络请求并根据网络是否可用 来采取适当的动作、更新来自服务器的的资源,或直接提供离线访问的能力(需要至少访问一次,才能有缓存
  2. 可以承接一些会造成页面卡顿的Long Task(密集的cpu计算)

    • sw本质是由Web Worker实现的,所以可以利用Worker的独立线程,在后台去处理密集的cpu计算,让用户操作页面不会卡顿
    • 不熟悉Web Worker的可以看我另一篇web worker实际使用

image.png

如何学习(落地)sw?

MDN上有比较好的文档,教程 developer.mozilla.org/zh-CN/docs/…


码字不易,点赞鼓励!