Настройка отладки в VSCode для веб-приложения Serverless Node.js в Windows 10
Контекст и цель
Недавно я присоединился к команде, которая разрабатывает безсерверное приложение веб-пакета Node.js с VSCode. Моя цель - иметь возможность запускать приложение, чтобы точки прерывания попадали в код Visual Studio.
контекст
Судя по нескольким статьям / постам, перечисленным ниже, для достижения этого необходимо настроить два файла конфигурации. launch.json
файл, который определяет, что должен делать VSCode, когда вы начинаете отладку из редактора. И package.json
файл и, более конкретно, scripts
приписывать. К сожалению, я не могу заставить это работать.
Из информации, которую я собрал, есть разница между конфигурацией, используемой для машин Linux и Windows. Поскольку я работаю на компьютере с Windows 10, я настроил несколько параметров.
Использованные ресурсы: статья, пост 1, пост 2 и пост 3
проблема
Ниже вы найдете настройки, которые я установил. К сожалению, приложение начинает генерировать исключения почти сразу в нескольких модулях NPM. Первое сообщение об ошибке я получаю от loader.js
файл и есть No such module: constants
, Если я продолжу, появятся несколько других ошибок. На данный момент я теряюсь в том, почему эти ошибки вызваны, так как приложение с нормальной конфигурацией работает без проблем. Также я думаю, что yarn debug
Кажется, работает нормально, хотя я не уверен на 100%.
Вопрос
Короче говоря, я совершенно заблудился относительно того, что идет не так. Любые советы и указатели будут с благодарностью.
Настройки и вывод
Перед ошибкой консоль отладки сообщает, что отладчик подключен, а затем вызывает команды без сервера.
Debugger listening on ws://127.0.0.1:5858/00a881f0-be74-46dd-a316-6fa07e8b0db5
For help, see: https://nodejs.org/en/docs/inspector
Debugger attached.
Атрибут сценариев package.json
"scripts": {
"debug": "SET SLS_DEBUG=* && node --inspect-brk=5858 %USERPROFILE%\\AppData\\Roaming\\npm\\node_modules\\serverless\\bin\\serverless offline -s dev",
},
launch.json
"version": "0.2.0",
"configurations": [
{
"name": "Debug",
"type": "node",
"request": "launch",
"cwd": "${workspaceRoot}\\frontend\\backend",
"runtimeExecutable": "npm.cmd",
"runtimeArgs": [
"run-script",
"debug"
],
"port": 5858
}
]
}