workbox.core.skipWaiting 不是函数(但 workbox.skipWaiting 是)

workbox.core.skipWaiting is not a function (but workbox.skipWaiting is)

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

Uncaught TypeError: workbox.core.skipWaiting is not a function

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

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

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

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

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