如何在后台更新缓存?

时间:2018-06-08 18:19:04

标签: vuejs2 workbox

我正在使用工作箱开始PWA世界。我目前使用vue-cli 3 tamplate for pwa,它使用工作箱。

我配置了所有离线访问权限:

pwa: {
  workboxPluginMode: 'GenerateSW',
  workboxOptions: {
    skipWaiting: true
  }
}

更新我的缓存的唯一可能性是当我进入网站时,生成的SW检查是否有更新,如果存在,则启用它以便激活下一次重新加载。

但是有可能在后台执行此操作吗?当我发送推送时,请求缓存更新?任何人都可以提供任何提示我该怎么做?

1 个答案:

答案 0 :(得分:3)

你所描述的内容最接近Periodic Background Sync背后的想法,它会以预定义的间隔“唤醒”你的服务工作者,并给它一个自我更新的机会。

不幸的是,目前没有任何浏览器支持定期后台同步,并且在标准化方面似乎停滞不前。

请注意,虽然也可以使用Push Notifications“唤醒”服务工作者,但用户必须首先明确接受通知权限,并且每次服务工作者“醒来”时都需要显示通知消息”。您不能在不显示通知的情况下以静默方式触发push事件处理程序。因此,尝试通过推送通知复制周期性后台同步并不是一个好主意。