无法使用我的 Node Js 应用进行 VSCode 调试

Can't get VSCode debbuging to work with my NodeJs app

我正在尝试在 Visual Studio 代码上调试我的应用程序。我的 package.json 上有以下配置:

"scripts": {
    "build": "rimraf dist/ && babel ./ --out-dir dist/ --ignore ./node_modules,./.babelrc,./package.json,./npm-debug.log --copy-files",
    "start": "npm run build && node --inspect=12345 dist/app.js"
}

我在我的 Node 应用程序上使用 ES6,这就是我的 build 配置有点乱的原因。

当我 运行 npm start 一切正常时,我可以使用我的应用程序。

现在尝试调试它,我设置了以下 launch 配置:

"configurations": [
    {
        "type": "node",
        "name": "Attach to Remote",
        "request": "attach",
        "port": 12345
    },
    {
        "type": "node",
        "request": "launch",
        "name": "Launch Program",
        "program": "${workspaceFolder}\dist\app.js"
    }
]

它们都是“"work"”:VS Code 切换到 "debug mode" 但我无法打任何断点。它们都变灰了:

我已尝试使用 答案进行修复,但无法正常工作...

有什么帮助吗?

提前致谢!

我使用的是 VS Code v 1.28.2,我可以两种方式进行调试。

1) 使用内置调试器(菜单 -> 调试 -> 开始调试)

2) 使用 node inspect index.js 启动应用程序。在这种情况下,您必须使用 debugger; 关键字在代码中声明断点。然后,当处于调试模式并在断点处停止时,您可以在命令行中键入 cont 继续执行。

希望对您有所帮助

我发现我的 babel-cli 命令中缺少 --source-maps... -.- 添加后,VSCode 可以找到断点。 所以基本上解决方案是:

--source-maps 添加到我的构建命令中:

"scripts": {
    "build": "rimraf dist/ && babel ./ --out-dir dist/ --ignore ./node_modules,./.babelrc,./package.json,./npm-debug.log --copy-files --source-maps",
    "start": "npm run build && node --inspect=12345 dist/app.js"
 }

并且我配置了一个launch如下:

"configurations": [
    {
        "type": "node",
        "request": "launch",
        "name": "Launch Program",
        "program": "${workspaceFolder}\dist\app.js",
        "preLaunchTask": "npm: build"
    }
]

希望对大家有所帮助!