无法将VSCode调试与我的NodeJs应用配合使用

时间:2018-11-10 14:04:40

标签: node.js debugging visual-studio-code vscode-debugger

我正在尝试在Visual Studio Code上调试我的应用程序。我的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"
    }
]

他们两个都“工作”:VS Code切换到“调试模式”,但我无法遇到任何断点。它们全部变灰:

enter image description here

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

有帮助吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

我正在使用VS Code v 1.28.2,并且能够通过两种方式进行调试。

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

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

希望有帮助

答案 1 :(得分:0)

我发现我只是从--source-maps命令中丢失了babel-cli ... -.- 添加后,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"
    }
]

希望它对某人有帮助!