javascript - Workbox 的预缓存何时生效?
问题描述
我有一个错误;预缓存我的静态文件的worbox,例如js或者css;此时我设置workbox.routing.registerRoute是不工作的;</p>
如果我删除workbox precaching(一定要确定server worker缓存文件),刷新后文件是从缓存中;</p>
解决方案
在注册的 service worker 控制当前页面之前,响应不会来自 service worker。根据您测试事物的方式,在您关闭所有之前为您的来源打开的选项卡之前,这可能不会发生。
您可以在“服务工作者生命周期”中了解更多信息。
我建议使用 Chrome 隐身窗口从头开始,完成 SW 注册,然后重新加载该隐身标签。此时,新注册的 SW 应该控制页面,并且您应该看到您的预缓存 JavaScript 正在用于满足子资源请求。
一般来说,如果您在同一个服务工作者中使用 Workbox 预缓存和运行时路由,并且您列出您首先调用预缓存(这就是您正在执行的操作),那么预缓存将优先。
推荐阅读
- html - 如何对齐冒号字符和文本?
- npm - node js cli STDOUT STDERR 输出 exec 和 spawn 命令
- php - 生成数组的所有组合,并不总是使用所有数组
- vue.js - 实时搜索组件
- yaml-front-matter - 将 og 图像添加到 VitePress
- postgresql - 更改 postgres 超级用户的身份验证方法
- batch-file - 如何让批处理文件打开文件浏览器以选择文件夹
- python - 如何使眼睛的投资回报率成为单个矩形
- powershell - PowerShell 在另一台服务器上运行计划任务
- python - “Pythonic”类级递归?