vue.js - workbox.core.skipWaiting 不是函数(但 workbox.skipWaiting 是)

标签 vue.js workbox

我正在开发一个 pwa(带有类星体的 vue 应用程序),我真的很困惑,因为按照指示包含选项会导致我的服务 worker workbox.core.skipWaiting() 中的指令导致Service Worker 注册失败,浏览器控制台出现以下错误:

未捕获的类型错误:workbox.core.skipWaiting 不是函数

另一方面,如果我创建一个自定义 sw 文件并将指令重命名为 workbox.skipWaiting(),它工作正常并且浏览器控制台没有报告任何错误。

环顾网络,我看到了这两种形式,但我找不到导致错误的原因。我还应该注意,在我的同一个 sw 文件中使用 core 的单独指令工作正常并且不会导致错误:

workbox.core.setCacheNameDetails({prefix: "myapp-assets"});

知道为什么这可能会失败吗?

最佳答案

经过大量研究,负责嵌入 workbox 的主包似乎在更新时以某种方式损坏了。因此,它没有指向 4.3.1 版本的工作箱脚本,而是仍然指向 3.6.3,我假设 core 指令样式在那个旧版本中不起作用。更换损坏的包,(并更新到 4.3.1)似乎已经解决了这个问题。

关于vue.js - workbox.core.skipWaiting 不是函数(但 workbox.skipWaiting 是),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57722611/

相关文章:

javascript - 使用带有 CDN 的工作箱时缓存存储为空

reactjs - 停止在 webpack-dev-server 中构建 Service Worker 的工作箱

javascript - 如何在 Vue/Nuxt 中使用链接下载 PDF 文件

javascript - vue从vue外部导入数据以在组件中使用,我是否需要深复制

javascript - 将带有空格的 div 名称传递给 Vue

javascript - 即使在加载新版本后,Service Worker 仍可能显示旧版本应用程序的情况?

javascript - 如何关闭工作箱浏览器控制台消息?

vue.js - VueJs - 创建带有输入字段的子组件的正确方法是什么

javascript - 登录后 Vue 应用程序不使用本地存储(vue 路由器)