Node.js Процесс отладки

Я бы хотел отлаживать node.js как рельсы. Я пробовал несколько способов:

  1. Отладка Webstorm - в этом случае мне нужно нажимать «повторно запустить отладку» каждый раз после изменения кода.
  2. Nodemon с удаленным отладчиком Chrome - в этом случае мне нужно повторно подключаться к отладчику каждый раз после перезагрузки кода с помощью nodemon
  3. pry.js - здесь мне нужно набрать eval (pry.it) - и у меня нет возможности сделать его проще, например, debug или pry ().

Итак, как лучше всего отлаживать приложения узла, такие как byebug для рельсов?

Обновление:

Спасибо @AbhinavD, мне удалось это сделать в VSCode: Сначала вам нужно отредактировать app / .vscode / launch.js javascript { "version": "0.2.0", "configurations": [ { "type": "node", "request": "attach", "name": "Node: Nodemon", "processId": "${command:PickProcess}", "restart": true, "protocol": "inspector", }, ] } Итак, теперь nodemon перезапускает сервер после изменений, и VSCode автоматически повторно подключается к отладчику.

Смотрите видео https://vimeo.com/267975071

Кто-нибудь может сделать это в WebStorm?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
0
1 021
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Чтобы ответить на ваш вопрос: Выхода нет. К сожалению, с Node.js вам всегда нужно перезапускать сеанс отладки при изменении кода ?.

Я недавно написал статью об отладке как JavaScript, так и TypeScript с использованием разных инструментов, если вам интересно, но нет ничего лучше отладки в реальном времени.

Спасибо за ссылку, Андре. Я искал некоторые варианты отладки для отладки Node.js.

Tico 03.05.2018 14:13

Спасибо тебе, это грустно (

Costa 03.05.2018 14:40

Взгляните на обновление, что вы думаете?

Costa 04.05.2018 12:17
Ответ принят как подходящий

Я не уверен, как работает byebug. Однако, если вы используете VSCode и nodemon (установленный глобально), VSCode может повторно подключиться к запущенному процессу и сломается в той же точке в отладчике.

Вот как выглядит мой конфигурационный файл

{
      "name": "Launch server.js via nodemon",
      "type": "node",
      "request": "launch",
      "runtimeExecutable": "nodemon",
      "program": "${workspaceFolder}/joiValidation.js",
      "restart": true,
      "console": "integratedTerminal",
      "internalConsoleOptions": "neverOpen"
    }

Вот небольшое видео, который я сделал после отладки. Официальная документация

@ Коста, я не понял, что вы здесь имеете в виду. Вы можете уточнить?

AbhinavD 04.05.2018 10:31

Теперь с апгрейдом работает нормально. [23.09.2018]

Для настройки вам понадобится Webstorm 2018.2 и выполните следующие действия:

webstorm run/debug configuration

и ТАКЖЕ включают параметр «Прикрепить к Node.js / Chrome» [+] следующим образом:

webstorm run/debug configuration attach option

Чтобы перезапускать отладчик после каждого изменения, вам необходимо включить опцию [x] Автоматическое повторное подключение.

Последовательность работы с отладкой:

  1. Запустить ваш (в моем случае) Nodemon.
  2. Отлаживать ваш (в моем случае) NodemonDebugger
  3. Установите точки останова и все остальное, и все готово.

Note: If you are going direct to the debugger instead (and therefore not following this process) one would probably be expecting a termination of the process after changing the code lines.

Другие вопросы по теме