【问题标题】:VSCode Debug Console only shows nodemon messagesVSCode 调试控制台只显示 nodemon 消息
【发布时间】:2020-07-29 21:10:03
【问题描述】:

我添加了启动配置来运行一个用于测试目的的小应用程序

    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Launch Program",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "runtimeExecutable": "nodemon",
            "restart": true,
            "program": "${workspaceFolder}\\express-qr-code.js"
        }
    ]

但是当我遇到错误时,它不会在控制台中记录错误,并且只显示 nodemon 输出。例如:

[nodemon] 2.0.3
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node --inspect .\express-qr-code.js`
[nodemon] app crashed - waiting for file changes before starting...

所以你可以看出它对调试非常适得其反。

这是我从终端启动同一个应用程序时得到的结果

PS C:\Projects\Testing\Node> nodemon .\express-qr-code.js
[nodemon] 2.0.3
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node .\express-qr-code.js`
events.js:200
      throw er; // Unhandled 'error' event
      ^

Error: listen EADDRINUSE: address already in use :::3000
    at Server.setupListenHandle [as _listen2] (net.js:1306:16)
    at listenInCluster (net.js:1354:12)
    at Server.listen (net.js:1442:7)
    at Function.listen (C:\Projects\Testing\Node\node_modules\express\lib\application.js:618:24)
    at Object.<anonymous> (C:\Projects\Testing\Node\express-qr-code.js:162:5)
    at Module._compile (internal/modules/cjs/loader.js:955:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:991:10)
    at Module.load (internal/modules/cjs/loader.js:811:32)
    at Function.Module._load (internal/modules/cjs/loader.js:723:14)
    at Function.Module.runMain (internal/modules/cjs/loader.js:1043:10)
Emitted 'error' event on Server instance at:
    at emitErrorNT (net.js:1333:8)
    at processTicksAndRejections (internal/process/task_queues.js:81:21) {
  code: 'EADDRINUSE',
  errno: 'EADDRINUSE',
  syscall: 'listen',
  address: '::',
  port: 3000
}
[nodemon] app crashed - waiting for file changes before starting...

如何让调试控制台显示所有消息?

【问题讨论】:

  • 这是因为您现在正在调试 nodemon 而不是您的应用程序。更改它以使用节点而不是 nodemon 运行您的应用程序。
  • 但是这样做我失去了重新启动文件更改的能力。有没有办法在使用 nodemon 启动它时调试节点应用程序?

标签: node.js nodemon vscode-debugger


【解决方案1】:

似乎找不到启动 nodemon 进程并检查启动文件的方法。唯一的解决方案是让日志显示在终端窗口中,而调试日志显示在调试控制台中。该仓库有一个自述文件here,用于完成设置。您将在终端窗口中获​​得所有日志。只是没有调试控制台消息。这些将在调试控制台中

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-26
    • 2018-06-10
    • 2017-07-23
    • 2017-06-02
    • 1970-01-01
    • 2018-10-17
    • 2015-05-03
    • 2022-07-18
    相关资源
    最近更新 更多