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)似乎已经解决了它。
我正在开发一个 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)似乎已经解决了它。