872 B
872 B
Context
发版窗口中存在“服务器已切到新版本、npm CDN 还未完全可用”的短暂不一致窗口。此前的 CDN 绝对优先会触发 404 或错误页,改成源站优先后又牺牲了正常流量下的加载速度。
Goals
- 对版本化静态资源尽可能优先使用 CDN
- 对入口链路保持同源优先,避免版本错配
- CDN 异常时快速熔断并回源,避免一个页面内重复踩坑
- 允许 Service Worker 复用已校验过的 CDN 缓存响应
Decisions
- 使用已有
cdn-config.js的测速结果作为偏好输入,但真正的资源选择由 Service Worker 执行 - 偏好数据持久化到独立 Cache Storage,避免引入新的 IndexedDB 表
- 静态缓存统一写入
x-sw-source、x-sw-revision、x-sw-app-version - 非 HTML 的预缓存与运行时静态请求共享同一套智能加载路径