《Service Worker 指南-1》
目录
- 1. Service Worker 简介
- 1.1 主线程 与 工作线程
- 1.2 PWA 重要技术
- 1.3 通过demo快速认识下 Service Worker
- 1.4 为什么会出现 Service Worker ?
- 1.5 Service Worker 的特点
- 2. Service Worker 注册
- 2.1 作用域
- 2.2 Service Worker 作用域污染
- 2.3 Service Worker 注册设计
- 2.3.1 SPA 注册 Service Worker
- 2.3.2 MPA 注册 Service Worker
- 2.4 Service Worker 更新
- 2.5 Service Worker 容错
- 2.6 小结
- 3. Service Worker 工作原理
- 3.1 生命周期
- 3.2 waitUntil 机制
- 3.3 终端
- 3.4 Waiting 状态
- 3.5 skipWaiting
- 3.6 Service Worker 更新原理
- 3.7 clients.claim() 方法
- 3.8 手动更新
- 3.9 小结
- 4. Service Worker 调试
- 4.1 debug 环境下的开发跳过等待状态
- 4.2 借助 Chrome Devtool 进行调试
- 4.3 查看 Service Worker 缓存内容
- 4.4 网络跟踪
- 4.5 真机调试
- Android inspect 远程调试
- iOS 远程真机调试
1. Service Worker 简介
1.1 主线程 与 工作线程
通常所讲的 Service Worker 指的是 Service Worker 线程。 浏览器中执行的 JavaScript 文件是运行在一个单一的线程上,称之为 主线程。 而 Service Worker 是一种独立于浏览器主线程的 工作线程, 它与当前浏览器主线程是完全隔离的,且有着自己独立的执行上下文。
1.2 PWA 重要技术
Service Worker 能提供一种良好的统筹机制对资源缓存和网络请求进行缓存和处理,是PWA 实现离线访问,稳定访问,静态资源缓存的一项重要技术。
1.3 通过demo快速认识下 Service Worker
借由一个简单的demo 了解下什么是 Service Worker。
$ mkdir serviceWorkerDemo
$ touch serviceWorkerDemo/index.html serviceWorkerDemo/sw.js
$ tree
.
└── serviceWorkerDemo
├── index.html
└── sw.js
index.html
Service Worker Demo