非常简单,我想在调试时禁用浏览器控制台中出现的重复工作框消息的显示。例如,我不需要看到:
WorkBox: Using NetworkFirst to respond to '/fonts/KFOlCnqEu92Fr1MmEU9fBBc-.woff'
它让我的 FireFox 控制台变得混乱,这是我非常不喜欢的东西。如果你喜欢它,好吧,请不要试图改变我对这种无用(对我)消息的好处的看法。 你知道如何关闭它吗? 为了方便起见,我使用 Quasar 和 Vue 创建 SPA - 甚至不是 PWA。 谢谢。
对我来说有效: 控制台 -> 应用程序选项卡 -> 服务工作者 -> sw.js 取消注册
只需在 Service Worker (
self.__WB_DISABLE_DEV_LOGS = true
) 文件顶部添加 sw.js
即可。
与此处发布的答案相反,解决方案不是:
workbox.setConfig({debug: false})
除非知道它的作用:workbox
自动选择 debug版本。
workbox.setConfig({ debug: false });
文档:
https://developers.google.com/web/tools/workbox/guides/troubleshoot-and-debug
导入后,您可以将此设置添加到 Service Worker 定义文件中。例如:
importScripts(`https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js`);
if (workbox) {
console.log(`Yay! Workbox is loaded 😁`);
} else {
console.log(`Boo! Workbox didn't load 😬`);
}
// Switch debug logging on/off here. Default is on in dev and off in prod.
workbox.setConfig({debug: false});
有关这方面的更多信息,请参阅
https://developers.google.com/web/tools/workbox/guides/configure-workbox#configure_debug_builds_vs_Production_builds不要忘记注释调试属性!!!
感谢Antonina K提供的答案,我能够找到FireFox的答案。万一其他人需要这个。正如 Antonina 提到的,在 Chrome 中,控制台有一个应用程序选项卡,其中引用了浏览器使用的所有服务工作人员。 FireFox 没有该选项卡(或者至少我的版本没有)。 在 FireFox 中,打开一个新选项卡并将 about:serviceworkers 放在地址栏中。滚动列表以查找 Workbox Service Worker。对我来说,它被列为 localhost:8080。我取消了该工作人员的注册,并且我不再在控制台中看到大量工作箱消息。我终于可以再次调试我的应用程序了! 这是我引用的用于解决问题的链接:
在 FireFox 和 Chrome 中管理 Service Worker