[英]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.