发布后部分用户打不开页面
先理解原理和示例,再练习完整口述与追问。
回答要点
旧页面引用旧资源;缓存策略;资源保留;有限恢复。
原理拆解
发布后部分用户异常通常与旧页面、CDN、Service Worker 和新旧接口兼容有关。先比较异常用户的 HTML/JS 版本、资源 URL 和响应内容,再确认是否只是特定缓存组合。正确策略让资源按内容指纹共存,并控制入口更新顺序,而不是让所有用户反复清缓存。
示例与推演
旧 tab 仍引用 old.hash.js,发布脚本若清掉旧资源,稍后懒加载会 404。先上传新资源、切换 HTML、保留旧资源到合理周期,并对 chunk 失败提供版本更新提示。接口保持必要兼容,Service Worker 更新也需处理旧控制器与新缓存共存。
易错点
不要给不存在的 JS 统一回退 index.html,它会变成语法或 MIME 错误。用户当前表单未保存时,不能无提示强制刷新丢数据。
参考回答可直接练习口述
先看失败的是 HTML、JS chunk 还是接口。常见是用户仍持有旧入口或旧页面,发布删除旧 chunk,动态加载时 404。部署采用内容 hash 并保留合理时间的旧资源,入口用合适的校验策略,发布资源和入口保持顺序或原子切换。失败时提示刷新或有限自动恢复,并用版本标识防无限刷新;回滚要同时保证对应入口和资源都存在。