在不同端口上使用 VS Code 调试 2 个 nodemon 实例

noo*_*ook 2 nodemon visual-studio-code vscode-debugger

我目前正在完全使用 Node.js 开发一个应用程序,因此有 2 个 nodemon 实例同时运行client,分别是server

.
|-- README.md
|-- client
|   |-- index.js
|   |-- node_modules
|   |-- package-lock.json
|   `-- package.json
`-- server
    |-- index.js
    |-- node_modules
    |-- package-lock.json
    `-- package.json

4 directories, 7 files
Run Code Online (Sandbox Code Playgroud)

所以这是在 VS Code 中打开的目录。在scripts两者的部分中,package.json我有以下内容: "dev": "nodemon --inspect ./index.js"

我对如何调试 nodemon 实例进行了一些研究,我在 VS Code 的存储库中找到了这个配置:

"configurations": [
    {
        "type": "node",
        "request": "attach",
        "name": "Node: Nodemon",
        "processId": "${command:PickProcess}",
        "restart": true,
        "protocol": "inspector",
    }
]
Run Code Online (Sandbox Code Playgroud)

但现在的问题是,当我同时运行这两个脚本时,我的终端出现以下错误: Starting inspector on 127.0.0.1:9229 failed: address already in use

是否可以在另一个端口上使用调试器?

Asw*_*kan 6

使用--inspect=<port>指定调试器应该运行的端口。

例子:

对于客户端应用程序,在调试器的默认端口(即 9229)上运行 -

"dev": "nodemon --inspect ./index.js"
Run Code Online (Sandbox Code Playgroud)

对于服务器应用程序,在端口 9228 上运行调试器 -

"dev": "nodemon --inspect=9228 ./index.js"
Run Code Online (Sandbox Code Playgroud)