工具功能
这是一个在线 Service Worker 生成工具,可以根据你输入的缓存版本、预缓存 URL 列表和缓存策略,自动生成标准的 Service Worker 文件(sw.js)和注册代码,用于给网站添加离线缓存能力。
使用方法
- 在「缓存版本号」输入框中填写你当前缓存的版本标识,比如 v1、v2 等,更新缓存时需要修改版本号。
- 在「预缓存 URL 列表」中每行填写一个需要预缓存的 URL 地址,这些资源会在 Service Worker 安装时缓存到浏览器中。
- 选择你需要的缓存策略,不同策略适合不同场景。
- 点击「生成 Service Worker」按钮,工具会自动生成
sw.js代码和前端注册代码。 - 复制生成的
sw.js内容,保存为sw.js文件放在你网站的根目录,然后把注册代码添加到你网站的主 JavaScript 文件中即可。
缓存策略说明
| 策略 | 原理 | 适用场景 |
|---|---|---|
| 缓存优先(Cache First) | 优先从缓存读取资源,缓存不存在才请求网络,请求到资源后存入缓存 | 静态不变的资源,比如图片、CSS、JS 文件,适合离线访问 |
| 网络优先(Network First) | 优先请求网络,网络请求失败才从缓存读取 | 频繁更新的资源,比如接口数据、动态内容 |
| 先返回缓存再更新(Stale While Revalidate) | 立刻返回缓存内容,同时后台请求网络更新缓存 | 对响应速度要求高,又需要及时更新内容的场景 |
注意事项
- Service Worker 只能在 HTTPS 环境或者 localhost 本地开发环境中使用。
sw.js文件必须放在网站根目录,才能获取全站的控制权限。- 修改预缓存内容或者更换缓存策略后,需要修改缓存版本号,浏览器才会更新 Service Worker 和缓存。