Как отлаживать приложение 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 который является
- Запустите ваш nodejs с
node.exe RemoteDebug.js <your_javascript_file>
,RemoteDebug.js
пришел при установке НТВС. - В Visual Studio выберите
Debug
>Attach to Process
- Выбрать
Node.js remote debugging
для транспорта - Войти
localhost:5859
для квалификации - Нажмите
Attach
Это переведет Visual Studio в режим отладки, в котором вы можете установить точку останова, сделать шаг-за-шаг, точно такой же опыт, когда вы используете VS для отладки приложения.NET.
Это довольно просто с NTVS, вы можете скачать необходимую версию для ваших окон с github здесь
После установки NTVS будут добавлены шаблоны проектов NodeJS.
Теперь перейдите в Файл-> Новый проект -> Базовое приложение NodeJS Express 3 (оно будет доступно в шаблонах проектов javascript)
Теперь просто перейдите к отладке и выберите " Начать отладку", добавьте точки останова, где это необходимо, и вы можете начать отладку.