当我在控制台输入
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
"program": "${workspaceRoot}/server/server.js",
更改为"program": "${workspaceRoot}/server.js",
并查看是否正在运行。 - Dhruvsito"program": "${workspaceRoot}/server/server.js"
更改为"program": "${file}"
时会发生什么?这里的"program": "${file}"
是全局启动配置,会自动获取您正在运行的项目的文件名。您不必像之前在launch.json中那样明确指定它。请尝试按上述代码替换并告诉我们是否有效。 - Dhruvsito