3

当我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"
  }

启动.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 

在此处输入图像描述

4

1 回答 1

6

这似乎是 nodejs 库版本 >= 7.0.0 的问题。

第一种解决方法:

使用开发工具在 chrome 中打开此文件的一个小解决方法是ws在您的情况下复制链接代码:

Debugger listening on ws://127.0.0.1:3090/d17dfe56-4fa4-4686-a62e-d07cff78c834

并将其附加到开发工具链接行的末尾,ws=如下所示:

chrome-devtools://devtools/bundled/inspector.html?experiments=true&v8only=true&ws=127.0.0.1:3090/d17dfe56-4fa4-4686-a62e-d07cff78c834

这将使您能够在 chrome 开发工具中打开程序。此处给出了该问题的链接和解决方案

第二种解决方法:

我尝试安装旧版本的节点,即 6.11.2 和 npm 3.10,并在 Visual Studio 代码中试了一下,它运行良好,没有任何问题。

但是,通过上面第一种方法中显示的技巧,我仍然能够使用最新版本的 node 和 npm。

编辑:格式化我的答案以便更好地理解

于 2017-08-03T21:20:33.983 回答