Node.js 使用“附加”调试Typescript节点应用程序
我正在构建一个具有以下文件夹结构的完整堆栈样板项目:Node.js 使用“附加”调试Typescript节点应用程序,node.js,typescript,debugging,visual-studio-code,vscode-debugger,Node.js,Typescript,Debugging,Visual Studio Code,Vscode Debugger,我正在构建一个具有以下文件夹结构的完整堆栈样板项目: boilerplate-app |---server |---src |---dist |---node_modules |---client |---.vscode |---launch.json 服务器是一个节点项目,我希望能够使用vscode的“附加”模式进行调试,因为我已经在使用各种构建脚本。其中一个将构建在src中找到的源代码,并将其放入dist 我面临的问题是,尽管我可以附加调试器,但我不能将断点附
boilerplate-app
|---server
|---src
|---dist
|---node_modules
|---client
|---.vscode
|---launch.json
服务器是一个节点项目,我希望能够使用vscode的“附加”模式进行调试,因为我已经在使用各种构建脚本。其中一个将构建在src
中找到的源代码,并将其放入dist
我面临的问题是,尽管我可以附加调试器,但我不能将断点附加到我的src
文件上——它们都被标记为“未绑定”。但是,我可以在列表
文件上设置断点,但这并不理想,因为当我更改src
文件时,会删除并重新生成
launch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "Server attach",
"type": "node",
"protocol": "inspector",
"request": "attach",
"processId": "${command:PickProcess}",
"restart": true,
"stopOnEntry": false,
"localRoot": "${workspaceFolder}/server/src",
"remoteRoot": "/Users/username/Documents/Development/express-app-boilerplate/server/src",
"sourceMaps": true,
"outFiles": ["${workspaceFolder}/server/dist/**/*.js"],
"cwd": "${workspaceFolder}/server/src"
}
]
}
有些事情我不确定:
在本例中,我认为是指${workspaceFolder}
文件夹,因为它是我打开的根文件夹样板应用程序
- 我不清楚
/localRoot
和remoteRoot
的含义,或者它们之间的区别-文档是最小的,似乎依赖于intellisense显示的单句摘要cwd
{
"compilerOptions": {
"lib": ["es2020"],
"module": "CommonJS",
"target": "es2020",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"noImplicitAny": true,
"moduleResolution": "node",
"sourceMap": true,
"outDir": "dist",
"rootDir": "src",
"baseUrl": ".",
"allowJs": true,
"mapRoot": "dist"
},
"include": ["src"],
"exclude": ["node_modules"]
}
我相当肯定这是正确的
我需要做什么才能让它工作?谢谢 我似乎无法删除此内容,但我解决了问题: launch.json更改: 已从中删除
src
“cwd”:“${workspaceFolder}/server”
“localRoot”:“${workspaceFolder}/server”
“remoteRoot”:“/Users/username/Documents/Development/express应用程序样板/服务器”
- 已删除
mapRoot