Как отлаживать приложение node.js с помощью Visual Studio 2013 и Node Tools NTVS

Я переместил существующий проект node.js + express в VS, потому что сейчас я предпочитаю IDE вместо JetBrains (использовал VS годами, только заглядывал в Webstorm).

Я использовал новый проект NTVS-> из существующих источников, и все файлы были успешно импортированы.

После этого я открыл настройки проекта своего проекта и установил аргументы node.exe в bin\www, файл запуска для экспресс.

Когда я нажимаю F5 (отладка), я получаю сообщения console.log, которые я поместил в файлы www и app.js в командной строке открытия, и похоже, что сервер работает (не могу подтвердить, я хочу отладить, если все работает), но отладчик VS напрямую выходит снова, он также не открывает ни одной страницы в браузере, который я выбрал для отладки.

Мое приложение-узел на самом деле является веб-сервисом REST, поэтому я хочу протестировать разные URL-адреса с разными параметрами.

Кроме того, я не могу получить доступ к приложению через указанный мной порт, хотя при непосредственном запуске его из node.exe я могу, даже если командная строка все еще открыта.

(У меня установлены NTVS и WebEssentials - некоторые операции занимают много времени, но я объясняю это тем, что NTVS по-прежнему является ранней версией.)

Вопрос: как отладчик Visual Studio остается подключенным к приложению node.js, чтобы я мог использовать точки останова и использовать любой браузер для подключения и тестирования различных URL-адресов? (Даже точка останова, помещенная в файл console.log, который печатается во время запуска, не запускается.)

3 ответа

Решение

Для всех, кто спрашивает, получает, а тот, кто ищет, находит....

(и да, я потратил много времени на поиски и попытки, прежде чем писать здесь..)

настройки

Отчасти приятно отлаживать сервер node.js с помощью VS.

надеюсь, это поможет кому-то

Изменить: Аргументы для node.exe может быть трудно читать на изображении. Это должно быть

 --debug=<portno>

то есть с двумя чертами (и не только одна), чтобы указать порт отладки.

Не так много знаний о expressjs но с недавним выпуском NTVS 1.0 Alpha, я обнаружил, что он поддерживает удаленную отладку, которую также можно использовать для отладки nodejs приложение работает локально - во всяком случае, еще не пробовал, работает ли оно с nodejs app + expressjs, но это так

Я следовал за шагом в этом видео https://youtu.be/-ir9ZB8lUg4 который является

  1. Запустите ваш nodejs с node.exe RemoteDebug.js <your_javascript_file>,
    RemoteDebug.js пришел при установке НТВС.
  2. В Visual Studio выберите Debug > Attach to Process
  3. Выбрать Node.js remote debugging для транспорта
  4. Войти localhost:5859 для квалификации
  5. Нажмите Attach

Это переведет Visual Studio в режим отладки, в котором вы можете установить точку останова, сделать шаг-за-шаг, точно такой же опыт, когда вы используете VS для отладки приложения.NET.

Это довольно просто с NTVS, вы можете скачать необходимую версию для ваших окон с github здесь

После установки NTVS будут добавлены шаблоны проектов NodeJS.

Теперь перейдите в Файл-> Новый проект -> Базовое приложение NodeJS Express 3 (оно будет доступно в шаблонах проектов javascript)

Теперь просто перейдите к отладке и выберите " Начать отладку", добавьте точки останова, где это необходимо, и вы можете начать отладку.

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