无法为带有 babel-node 的节点启动 VSCode 调试器
Can't launch VSCode debugger for node with babel-node
当我在控制台中输入 npm run debug
时,我得到:"Debugger listening on ws://127.0.0.1:3090/d17dfe56-4fa4-4686-a62e-d07cff78c834"
。当我转到 chrome 中的这个地址时,我唯一看到的是 "WebSockets request was expected"
。我应该调整配置的哪些部分以使调试器工作?我正在使用最新版本的 nodejs。
package.json 脚本
"scripts": {
"prod": "webpack -p --env.production --progress",
"start": "babel-node --presets es2015 server/server.js",
"watch": "nodemon --exec npm run start",
"debug": "babel-node --presets es2015 server/server.js --inspect --debug-brk=3090"
}
launch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch via NPM",
"type": "node",
"request": "launch",
"runtimeExecutable": "npm",
"program": "${workspaceRoot}/server/server.js",
"restart": true,
"runtimeArgs": [
"run-script", "debug"
],
"port": 3090
},
{
"type": "chrome",
"request": "launch",
"name": "Launch Chrome against localhost",
"url": "http://localhost:3090",
"webRoot": "${workspaceRoot}"
},
{
"type": "chrome",
"request": "attach",
"name": "Attach to Chrome",
"port": 3090,
"webRoot": "${workspaceRoot}"
}
]
}
文件结构:
├───.vscode
├───js
├───server
│ ├───db
│ ├───middleware
│ ├───models
│ ├───server.js
这似乎是 nodejs 库版本 >= 7.0.0 的问题。
第一个解决方法:
使用开发工具在 chrome 中打开此文件的一个小解决方法是在您的情况下复制 ws
之后 link 的代码:
Debugger listening on ws://127.0.0.1:3090/d17dfe56-4fa4-4686-a62e-d07cff78c834
并将其附加到开发工具行的末尾 link 和 ws=
如下所示:
chrome-devtools://devtools/bundled/inspector.html?experiments=true&v8only=true&ws=127.0.0.1:3090/d17dfe56-4fa4-4686-a62e-d07cff78c834
这将使您能够在 chrome 开发工具中打开您的程序。 Link 并给出了问题的解决方案 here
第二种解决方法:
我尝试安装旧版本的节点,即 6.11.2 和 npm 3.10,并尝试使用 visual studio 代码,它运行良好,没有任何问题。
然而,使用上面第一种方法中显示的技巧,我仍然能够使用最新版本的节点和 npm。
编辑:格式化我的答案以便更好地理解
当我在控制台中输入 npm run debug
时,我得到:"Debugger listening on ws://127.0.0.1:3090/d17dfe56-4fa4-4686-a62e-d07cff78c834"
。当我转到 chrome 中的这个地址时,我唯一看到的是 "WebSockets request was expected"
。我应该调整配置的哪些部分以使调试器工作?我正在使用最新版本的 nodejs。
package.json 脚本
"scripts": {
"prod": "webpack -p --env.production --progress",
"start": "babel-node --presets es2015 server/server.js",
"watch": "nodemon --exec npm run start",
"debug": "babel-node --presets es2015 server/server.js --inspect --debug-brk=3090"
}
launch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch via NPM",
"type": "node",
"request": "launch",
"runtimeExecutable": "npm",
"program": "${workspaceRoot}/server/server.js",
"restart": true,
"runtimeArgs": [
"run-script", "debug"
],
"port": 3090
},
{
"type": "chrome",
"request": "launch",
"name": "Launch Chrome against localhost",
"url": "http://localhost:3090",
"webRoot": "${workspaceRoot}"
},
{
"type": "chrome",
"request": "attach",
"name": "Attach to Chrome",
"port": 3090,
"webRoot": "${workspaceRoot}"
}
]
}
文件结构:
├───.vscode
├───js
├───server
│ ├───db
│ ├───middleware
│ ├───models
│ ├───server.js
这似乎是 nodejs 库版本 >= 7.0.0 的问题。
第一个解决方法:
使用开发工具在 chrome 中打开此文件的一个小解决方法是在您的情况下复制 ws
之后 link 的代码:
Debugger listening on ws://127.0.0.1:3090/d17dfe56-4fa4-4686-a62e-d07cff78c834
并将其附加到开发工具行的末尾 link 和 ws=
如下所示:
chrome-devtools://devtools/bundled/inspector.html?experiments=true&v8only=true&ws=127.0.0.1:3090/d17dfe56-4fa4-4686-a62e-d07cff78c834
这将使您能够在 chrome 开发工具中打开您的程序。 Link 并给出了问题的解决方案 here
第二种解决方法:
我尝试安装旧版本的节点,即 6.11.2 和 npm 3.10,并尝试使用 visual studio 代码,它运行良好,没有任何问题。
然而,使用上面第一种方法中显示的技巧,我仍然能够使用最新版本的节点和 npm。
编辑:格式化我的答案以便更好地理解