如何调试Node.js服务器?调试器跳过了我的断点! (使用VSCode)

问题描述 投票:0回答:1

[我正在尝试使用自定义服务器调试Next.js应用,该服务器通常以执行devnode server.js Yarn脚本运行。

VSCode包括一个Node.js调试扩展和this guide,我已遵循。我创建了一个名为dev:debug的新纱线脚本,该脚本运行node --inspect server.js,并在launch.json中进行以下配置:

{
  "type": "node",
  "request": "launch",
  "name": "Debug via Yarn",
  "runtimeExecutable": "yarn",
  "runtimeArgs": ["dev:debug"],
  "port": 9229
}

但是跳过了server.js导入的模块中的某些断点,我不确定为什么。当我在Web应用程序中加载页面时,Next组件中的其他断点会起作用。有什么想法吗?

node.js debugging visual-studio-code next
1个回答
0
投票

好!这是正在发生的事情(由于无法在线找到答案,因此我将所有这些都发布到了SO中):

[构建Next.js应用程序时,您同时在编写服务器应用程序(节点)和服务器端Web应用程序(下一个)!此外,您还基于此构建一个客户端应用程序(React)。 (如果您习惯使用诸如内置服务器,Apache或NginX之类的服务器的PHP或Python Web应用程序之类的其他平台,这并不明显!)

正在运行node --inspect server.js告诉调试器加载服务器,然后仅开始调试Web应用程序(“用户代码”。

解决方案:node CLI还有一个特殊的--inspect-brk option,当您还想调试服务器本身的代码时,可以使用它!是的,解决方案是再增加4个字符(-brk)。

© www.soinside.com 2019 - 2024. All rights reserved.