Как отлаживать приложение loopback 4 / node с помощью nodemon в коде Visual Studio?
Ищете решение, которое перестраивает приложение при изменении кода машинописного текста с обратной связью. С возможностью отладки.
С уважением,
Кельвейн





Наконец-то я нашел решение для отладки Loopback 4 / node.js. Если у кого-то есть предложения, пожалуйста, это первое решение, которое действительно делает то, что я хочу.
Запустите отладчик, запустив:
npm run debug
С nodemon выполните следующую команду
nodemon --exec run debug
Добавьте точки останова, щелкнув слева от номеров строк в коде Visual Studio.
Затем в Visual Studio Code запустите приложение в режиме отладки с помощью
Visual Studio Code (top-bar) -> Debug -> Start Debugging
package.json
"debug": "npm run build && node --nolazy --inspect-brk=9229 .",
"build": "lb-tsc es2017 --outDir dist"
launch.json
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "attach",
"timeout": 1000000,
"name": "Attach",
"port": 9229,
"restart": true
}
]
}
tsconfig.json
Примечание: Этот файл по умолчанию расширен петлей, поэтому вам не нужно его изменять.
{
"compilerOptions": {
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "ES5",
"lib": ["es2015"],
"allowJs": true,
"skipLibCheck": true
},
"include": ["src"],
"exclude": ["node_modules", "platforms"]
}
Структура приложения
У меня работает путем внесения изменений, как было предложено. Соответственно обновил ответ.
выдает ошибку: 'run' is not recognized as an internal or external command, operable program or batch file. [nodemon] app crashed - waiting for file changes before starting...
Для меня флаг --nolazy имел значение из-за функций async / await
Это решение альтернатива для nodemon.
tsc-watch - аналогичный инструмент, который можно использовать с loopback 4. По сути, он работает аналогично nodemon. Чтобы добавить tsc-watch как пакет разработчика,
npm install tsc-watch --save-dev в местоположении вашего проектадобавьте следующие строки в package.json > scripts
"start": "node -r source-map-support/register .",
"dev": "tsc-watch -b --onSuccess \"npm start\""
теперь запускаем npm run dev
Для получения дополнительной информации посетите tsc-часы на npm или github.
Создайте свой собственный nodemon.json в корневом источнике проекта и поместите его в файл
{
"ignore": [
"**/*.test.ts",
"**/*.spec.ts",
".git",
"node_modules"
],
"watch": [
"src"
],
"exec": "npm start",
"ext": "ts"
}
и запустить nodemon вот. Просто убедитесь, что вы установили nodemon в глобальном масштабе.
Самое простое решение, ИМХО.
Спасибо за все ответы здесь. Мне удалось найти что-то, что работает для моей установки. Я использую пряжу с обратной связью 4. Спасибо за отправную точку @ dat-ho.
Сначала установите nodemon в глобальном масштабе
затем добавьте конфигурацию nodemon в package.json. Я добавил это внизу файла после devDependencies.
"nodemonConfig": {
"verbose": true,
"watch": [
"src/"
],
"ignore": [
"dist/*"
],
"ext": "ts",
"exec": "yarn run clean && yarn start"
}
Изменения по сравнению с предыдущим ответом заключались в том, что nodemon обнаруживает сценарий npm start, и он повторно запускает npm start в порядке, но он не перестраивается, и изменения не были показаны в работающем коде. поэтому я добавил строку "exec": "yarn run clean && yarn start", чтобы очистить и повторно запустить команду npm start.
Затем вы можете добавить следующую команду start:dev в раздел package.json scripts:
"start": "node -r source-map-support/register .",
"start:dev": "nodemon '--inspect'",
Оттуда просто запустите yarn start:dev и восстановите его при изменении любого файла машинописного текста. Надеюсь, это сработает для вас, ребята. Чтобы это работало, мне потребовалось значительное количество исследований. Надеюсь, что в будущем у разработчиков loopback может быть что-то подобное.
Доступно ли это в документации, тогда, пожалуйста, также предоставьте ссылку.