Я хотел бы отладить мой машинописный код (который запускается в NodeJS) с помощью VSCode. Следующий код является моей отправной точкой и отлично работает.
Код машинописного текста:
//src/index.ts
console.log('line 1');
console.log('line 2');
Настройки компилятора:
//tsconfig.json
{
"compilerOptions": {
"module": "commonjs",
"sourceMap": true
},
"exclude": [
"node_modules"
]
}
И конфигурация запуска
//.vscode/launch.json
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"skipFiles": [
"<node_internals>/**"
],
"program": "${workspaceFolder}/src/index.js"
}
]
}
В приведенной выше настройке я могу добавить точки останова в коде набора текста и затем начать отладку.
Весь исходный код набора текста находится в каталоге с именем src/
. Я хотел бы указать это в настройках компилятора, добавив следующий параметр конфигурации:
"compilerOptions": {
//...
"sourceRoot": "src"
Он по-прежнему компилируется очень хорошо, и при выполнении выводит «строку 1», «строку 2».
Однако контрольные точки больше не работают. Я посмотрел на сгенерированные исходные карты, и они указывают путь «source Root»: «sr c». Я предполагаю, что это нарушает поиск исходного кода. Поскольку исходные источники находятся в той же папке, что и сгенерированный вывод. Как мне правильно настроить это в компиляторе?