簡體   English   中英

如何在 Visual Studio 代碼中調試 nodeJS (ExpressJS) 應用程序?

[英]How to debug nodeJS (ExpressJS) app in visual studio code?

我已經嘗試了許多不同的在線解決方案,但在我的情況下沒有任何效果,我試圖在運行時調試 nodeJS 應用程序,通過 UI/postman 調用 API

我的launch.json:從這里獲取指南

{
        "type": "node",
        "request": "attach",
        "name": "Attach by Process ID",
        "processId": "${command:PickProcess}",
        "skipFiles": [
            "<node_internals>/**"
        ]
}

啟動本地服務器后,當我啟動調試器時,它要求選擇一個進程,我 select 以--exec babel-node server.js結尾的那個它連接成功,但沒有加載我的項目腳本,只有 node_modules、eval 和 node_internal .

在我的代碼中,如果我放置斷點,我會看到這個錯誤“斷點已設置但尚未綁定”

我的 package.json 啟動腳本:

"scripts": {
    "start": "nodemon --exec babel-node server.js"
}

我的代碼在 ES6 中,我通過 shell 腳本啟動服務器,該腳本首先設置一些環境,然后執行npm start

我的.bablerc

{
  "presets": [
    [
      "@babel/preset-env",
      {
        "targets": {
          "node": "current"
        }
      }
    ]
  ]
}

這是我的launch.json,我用express運行nodejs,它工作正常。

{
"version": "0.2.0",
"configurations": [
    {
        "type": "node",
        "request": "launch",
        "name": "Launch Program",
        "program": "${workspaceFolder}/app.js",
        "args": ["--env","local"]
    }
]

}

原來我選擇了錯誤的進程 ID。 當我們啟動調試器時,它會顯示正在運行的進程列表到 select 將附加調試器。 我選擇了以_babel-node server.js而不是--exec babel-node server.js結尾的那個。 這樣做會加載我的所有腳本並按預期開始工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM