首页 > 解决方案 > Workbox - 服务工作者 index.html/asset 不匹配

问题描述

我有一个使用workbox设置的简单服务人员。预缓存包含index.html一个main.xxx.jsjavascript 包(除其他外),其中 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工作正常。我在这里缺少什么以及我可以使用什么策略来确保我始终拥有相同的版本?

需要明确的是,一旦问题处于不良状态,似乎没有什么可以解决问题。刷新没有任何作用。

标签: service-workerworkbox

解决方案


推荐阅读