用途:该技能面向渐进式 Web 应用(PWA),讲解服务工作线程(Service Worker)的事件驱动脚本机制。它在独立线程中拦截网络请求、管理缓存并支持离线功能,Workbox v7.4(由 Chrome Aurora 团队维护)在其上提供生产级封装。适用场景包括需要离线支持、推送通知、后台数据同步、应用外壳缓存与请求优化的 PWA。不适用于纯 CDN 静态站点、无离线需求的服务端渲染应用、不能容忍过期数据的应用,以及尚处早期原型的项目。
主要能力:注册使用 navigator.serviceWorker.register();workbox-precaching 按版本哈希预缓存应用外壳;CacheFirst、NetworkFirst、StaleWhileRevalidate 三种缓存策略分别对应静态资源、需新鲜度的接口与速度/新鲜度平衡;workbox-background-sync 在网络恢复后重放失败请求;Push API + Notifications API 实现推送;event.addRoutes() 实现静态路由;self.skipWaiting()、self.clients.claim()、navigationPreload.enable() 管理激活与预加载;workbox-window 处理更新提示;workbox-recipes 提供离线回退等预制模式;workbox-expiration 限制缓存条目数与时长。
采用方式:在 window 的 load 事件中注册,路径即默认作用域;通过 workbox-build 或 workbox-webpack-plugin 在构建期注入修订哈希。
限制与注意:Background Sync 仅 Chrome/Edge 支持(约 80%),需回退 navigator.onLine;同步访问句柄仅限专用 worker,服务工作线程中应使用异步方法;不透明响应会占用配额,需限制 maxEntries;避免无条件 skipWaiting;激活时清理旧缓存;导航请求应预缓存 offline.html 作为回退。若存在 local-first 或 electricsql 技能可委派相应架构与同步引擎决策,否则可用 pnpm dlx skills add oakoss/agent-skills -s local-first -a claude-code -y 等命令安装。