如何为 manifest v3 调试 chrome 扩展服务工作线程?

noo*_*der 8 google-chrome-extension chrome-canary

我正在试验 chrome 扩展清单 v3(在 chrome canary 上),但找不到任何方法来调试 manifest.json 中定义的 service worker 脚本。对于 manifest v2,chrome://extensions/ 页面上有一个链接,可以打开后台页面控制台。有没有办法在 manifest v3 服务工作者脚本中查看日志?

我正在使用这个清单 v3 服务工作者扩展的最小工作示例进行测试:https : //gist.github.com/dotproto/3a328d6b187621b445499ba503599dc0

此调试页面上没有提及:https : //developer.chrome.com/apps/tut_debugging

两个迁移指南中也没有提到任何内容:https : //developer.chrome.com/extensions/migrating_to_manifest_v3 https://developer.chrome.com/extensions/migrating_to_service_workers

Exo*_* 4D 18

我猜您正在寻找扩展程序的内部ServiceWorker(后端页面)及其连接。

\n

在此输入图像描述

\n

您应该注意两个 URL:

\n
    \n
  1. chrome://inspect/#service-workers
  2. \n
  3. chrome://serviceworker-internals/?devtools
  4. \n
  5. 您可能还想“调试调试器”,例如扩展页面内的断点。
  6. \n
\n
\n

1.注册的ServiceWorker列表(普通+内部

\n

chrome://inspect/#service-workers

\n

在此输入图像描述

\n
\n

2. ServiceWorker 活动(活动连接/客户端、控制台日志、 \xe2\x80\xa6 )

\n

chrome://serviceworker-internals/?devtools

\n

在此输入图像描述

\n
\n

3.检查DevTools扩展

\n
    \n
  • 选项 A:从上下文菜单

    \n
      \n
    1. 打开您的扩展面板

      \n
    2. \n
    3. 打开contextmenu并选择inspect

      \n
    4. \n
    5. 第二个 DevTools 实例打开

      \n

      在此输入图像描述

      \n
    6. \n
    \n
  • \n
  • 选项 B:来自扩展页面

    \n
      \n
    1. 打开chrome://extensions

      \n
    2. \n
    3. 找到您的扩展程序,点击“详细信息”

      \n

      在此输入图像描述

      \n
    4. \n
    \n
  • \n
\n

  • 不幸的是,当我的 Chrome 扩展程序在其服务工作线程中早期崩溃时,我找不到方法查看扩展程序的服务工作线程日志。Chrome 只显示一个超链接“serviceworker(非活动)”,点击时不会执行任何操作。看起来如果扩展已经死了,那么找到错误行就会困难得多。 (8认同)

noo*_*der 6

经过一番搜索后,我发现日志显示在页面控制台内“应用程序”下的“服务工作人员”部分中。您必须运行服务工作线程,然后单击检查以查看服务工作线程脚本生成的日志。

在此输入图像描述