当我运行 node --inspect app.js
时,它显示“已连接调试器”。然后我打开 chrome://inspect,看到我的应用程序在那里运行,因此我单击“打开专用开发工具”或“检查”(应用程序名称旁边)。不管我如何打开 Node DevTools,它似乎都没有连接到任何东西(我看不到那里的源代码,调试器语句被忽略,没有任何日志记录到控制台等)。我还尝试通过打开常规 DevTools 并单击绿色 Node 图标来打开它。
这很奇怪,因为 Chrome 清楚地看到服务器正在运行,并且某些东西明显连接到 Node(而且我认为我的网络上没有其他任何东西可以做到这一点),但我仍然无法让 DevTools 承认服务器的存在。
我还清楚地记得几周前以同样的方式调试了一些东西,当时一切都工作正常(虽然我记得我也为此遇到了一点困难,但我以某种方式让它在最后工作,我认为在命令末尾附加文件名而不是把它放在中间最后起到了作用)。从那时起发生的唯一一件事是我从 v8 更新到 v10 (LTS)
我显然已经尝试过重新启动,并阅读了有关 Node --inspect 的所有手册和文章,但没有任何帮助。
最佳答案
Chrome 版本:92
对我来说,问题是 Chrome DevTools 没有寻找我的 Node.js 进程正在使用的连接端口。
我做了以下事情:
- 使用
--inspect
标志启动 Node 进程。它在端口9239
上启动了该进程。 - 在 Chrome 地址栏中输入
chrome://inspect/#devices
。 - 点击设备页面中的“打开 Node 专用开发工具”。
- 它会打开“DevTools-Node.js”窗口。
- 点击“连接”选项卡。
- 点击“添加连接”按钮。
- 在文本框中输入
localhost:9239
并点击“添加”。
添加正确的端口后,DevTools 连接到 Node.js 进程,我能够对其进行调试。
关于node.js - 无法使用 Chrome DevTools 调试 node.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55315159/