Skip to content

fix(pwa): 修复部署切换后的懒加载失败 - #44

Open
shellRaining wants to merge 3 commits into
mainfrom
fix/pwa-version-skew
Open

fix(pwa): 修复部署切换后的懒加载失败#44
shellRaining wants to merge 3 commits into
mainfrom
fix/pwa-version-skew

Conversation

@shellRaining

Copy link
Copy Markdown
Owner

背景

新版本部署后,旧标签页仍可能请求上一版的懒加载资源。原来的 SPA 回退会把缺失的 /assets/* 请求改写为 index.html,浏览器和 Service Worker 因而可能收到并缓存 200 text/html,最终在切换页面时表现为路由加载失败。长时间打开的页面也没有主动触发 Service Worker 更新检查。

改动

  • 收窄 Vercel SPA 回退范围,让缺失静态资源保留真实错误响应。
  • 带哈希的脚本、样式和字体改用 CacheFirst,并按状态码和 Content-Type 校验缓存写入。
  • 页面重新可见、恢复联网和持续打开期间主动检查 Service Worker 更新,并合并并发、限制检查频率。
  • 捕获 vite:preloadError,显示“当前版本已失效”提示,由用户确认后更新或刷新。
  • 新增 Vercel 路由、运行时缓存和更新检查回归测试,同步前端规范与用户文档。

验证

  • vp run ready
  • 生产预览:首页、页面切换和深层路由刷新正常。
  • 模拟 vite:preloadError 后显示版本失效提示,“稍后”和“立即更新”行为正常。
  • PR 创建后继续在 Vercel Preview 验证缺失 /assets/*.js 返回 404 且不是 HTML。

额外说明

根目录 README.md 的表格变化只是 vp check --fix 对主分支近期内容的格式化,没有修改文意。

@vercel

vercel Bot commented Jul 25, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
cc98 Ready Ready Preview, Comment Jul 26, 2026 3:14am
cc98-docs Ready Ready Preview, Comment Jul 26, 2026 3:14am
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
cc98-api-docs Ignored Ignored Preview Jul 26, 2026 3:14am

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant