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

mur*_*ter 14 javascript console vue.js quasar workbox

很简单,我想在调试时禁用浏览器控制台中出现的重复工作箱消息的显示。例如,我不需要看到:

WorkBox: Using NetworkFirst to respond to '/fonts/KFOlCnqEu92Fr1MmEU9fBBc-.woff'
Run Code Online (Sandbox Code Playgroud)

它弄乱了我的 FireFox 控制台,这是我非常不喜欢的东西。如果你喜欢它,好吧,请不要试图改变我对这些无用(对我而言)消息的好处的看法。你知道怎么关掉吗?为了提供信息,我使用 Quasar 和 Vue 来创建 SPA - 甚至不是 PWA。谢谢。

小智 11

您可以使用workbox.setConfig({ debug: false });以使用生产构建并删除额外的日志记录,否则相应地调整您的 Web 控制台日志级别过滤。

文档: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});
Run Code Online (Sandbox Code Playgroud)

有关这方面的更多信息,请参阅https://developers.google.com/web/tools/workbox/guides/configure-workbox#configure_debug_builds_vs_production_builds

  • 我真的很感谢您的回复(迄今为止唯一的回复)。在 Quasar 模板中,我没有看到可以添加您建议的命令的代码块。我也在其他帖子中看到过此选项,但没有人确定哪个文件应包含该命令。至于过滤,我在 FireFox 中找不到关闭工作箱消息的选项。即使正则表达式也无效。 (2认同)

arv*_*tal 8

只需self.__WB_DISABLE_DEV_LOGS = true在 service worker ( sw.js) 文件的顶部添加即可。

与此处发布的答案相反,解决方案不是:

  • 取消注册您的服务工作者以摆脱消息。您的应用可能需要它才能正常运行
  • 添加workbox.setConfig({debug: false})除非知道它的作用:
    它在生产构建和调试构建之间切换。在localhost 上运行时workbox自动选择调试版本。


小智 5

对我来说:控制台 -> 应用程序选项卡 -> 服务工作者 -> sw.js 注销

  • 请注意下面的 [arvymetal](/sf/users/210196381/) 的 [answer](/sf/answers/4683539381/),因为取消注册 Service Worker 可能会使您的应用程序运行不正常,您可能不想要它。 (2认同)