Node.js Поток отладки - PullRequest
       66

Node.js Поток отладки

0 голосов
/ 03 мая 2018

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

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

Так, каков наилучший вариант для отладки приложений узлов, таких как byebug для rails?

Обновление:

Спасибо @AbhinavD Мне удалось сделать это в VSCode: Сначала вам нужно отредактировать приложение / .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?

Ответы [ 3 ]

0 голосов
/ 03 мая 2018

Я не уверен, как работает 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"
    }

Вот маленькое видео 1008 *, которое я сделал из своей отладки. Официальная документация

0 голосов
/ 23 сентября 2018

Теперь с обновлением работает просто отлично. [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. Установите контрольные точки и все остальное, и все готово.

Примечание: если вы вместо этого идете прямо к отладчику (и, следовательно, не следуя этому процессу) можно было бы ожидать прекращение процесса после изменения строк кода.

0 голосов
/ 03 мая 2018

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

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

...