service-worker - Workbox - 服务工作者 index.html/asset 不匹配
问题描述
我有一个使用workbox设置的简单服务人员。预缓存包含index.html
一个main.xxx.js
javascript 包(除其他外),其中 xxx 在每次构建时都会更新。预缓存设置非常简单,使用workbox-build。
workboxBuild.injectManifest({
// ...
globPatterns: [
'index.html',
'main.*.js',
// ...
]
})
我随机看到的问题(特别是在 Safary 和 Firefox 中)是索引似乎进入了一个坏的(过时的)状态,它引用main.xxx.js
但当前的构建是 on main.yyy.js
,它不存在并破坏了网站。我可以通过访问 Chrome 来验证这一点,它在 中显示了正确的引用main.yyy.js
并且index.html
工作正常。我在这里缺少什么以及我可以使用什么策略来确保我始终拥有相同的版本?
需要明确的是,一旦问题处于不良状态,似乎没有什么可以解决问题。刷新没有任何作用。
解决方案
推荐阅读
- java - 从 ByteArrayOutputStream 创建文件
- sql-server - 如何处理sql表中的空值
- c - 使用 I/O 多路复用时的非阻塞套接字
- c# - Identity Server + Azure Active Directory + Blazor 角色声明问题
- solr - 我可以在 Solr 查询中查询 2 个不同的集合吗?
- vuejs3 - Vue 3 中的自定义指令
- powerbi - Power BI:填补两个日期之间的空白,排除超出范围的日期
- github - GitHub 检查更改它在 Azure DevOps 中构建的存储库
- openstack - 从先前的命令输出重新创建 openstack 工件?
- r - 如何标记散点图上对角线以下的所有点