Service Worker 缓存 CSS 文件后样式不生效怎么办?
我用 Service Worker 缓存了静态资源,但发现页面加载时有时候 CSS 样式没应用上,刷新一下又好了。是不是缓存策略写错了?
我试过在 install 事件里缓存 CSS,也确认文件路径没错,但偶尔还是会出现无样式的情况。下面是我项目里的一段关键 CSS:
body {
font-family: 'Inter', sans-serif;
background-color: #f8fafc;
margin: 0;
padding: 20px;
}
.header {
color: #1e293b;
font-size: 24px;
}
这种情况该怎么排查?是不是应该用 Cache First 还是 Network First 策略?
另外检查一下你缓存 CSS 时响应头里的
Content-Type是不是text/css,有些服务器返回错了会导致浏览器不认。还有别忘了改缓存版本号,不然旧缓存会坑死你。