繁体   English   中英

如何在 Visual Studio 代码中调试 nodeJS (ExpressJS) 应用程序?

[英]How to debug nodeJS (ExpressJS) app in visual studio code?

我已经尝试了许多不同的在线解决方案,但在我的情况下没有任何效果,我试图在运行时调试 nodeJS 应用程序,通过 UI/postman 调用 API

我的launch.json:从这里获取指南

{
        "type": "node",
        "request": "attach",
        "name": "Attach by Process ID",
        "processId": "${command:PickProcess}",
        "skipFiles": [
            "<node_internals>/**"
        ]
}

启动本地服务器后,当我启动调试器时,它要求选择一个进程,我 select 以--exec babel-node server.js结尾的那个它连接成功,但没有加载我的项目脚本,只有 node_modules、eval 和 node_internal .

在我的代码中,如果我放置断点,我会看到这个错误“断点已设置但尚未绑定”

我的 package.json 启动脚本:

"scripts": {
    "start": "nodemon --exec babel-node server.js"
}

我的代码在 ES6 中,我通过 shell 脚本启动服务器,该脚本首先设置一些环境,然后执行npm start

我的.bablerc

{
  "presets": [
    [
      "@babel/preset-env",
      {
        "targets": {
          "node": "current"
        }
      }
    ]
  ]
}

这是我的launch.json,我用express运行nodejs,它工作正常。

{
"version": "0.2.0",
"configurations": [
    {
        "type": "node",
        "request": "launch",
        "name": "Launch Program",
        "program": "${workspaceFolder}/app.js",
        "args": ["--env","local"]
    }
]

}

原来我选择了错误的进程 ID。 当我们启动调试器时,它会显示正在运行的进程列表到 select 将附加调试器。 我选择了以_babel-node server.js而不是--exec babel-node server.js结尾的那个。 这样做会加载我的所有脚本并按预期开始工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM