Как отлаживать приложение node.js с Visual Studio 2013 и Node Инструменты NTVS
Я переместил существующий проект node.js + express в VS, потому что теперь я предпочитаю IDE поверх JetBrains (использовал VS в течение многих лет, только просматривал Webstorm).
Я использовал новый проект NTVS- > из существующих источников и все файлы были успешно импортированы.
Затем я открыл настройки проекта для моего проекта и установил аргументы node.exe в bin\www, файл автозагрузки для экспресс-доставки.
Когда я нажимаю F5 (debug), я получаю сообщения console.log, которые я ввел в файлы www и app.js в командной строке открытия, и похоже, что сервер работает (не могу подтвердить, я хотите отлаживать, если все работает), но отладчик VS сразу выходит из него, он также не открывает какую-либо страницу в браузере, который я выбрал для отладки.
My node приложение фактически является веб-сервисом REST, поэтому я хочу протестировать разные URL-адреса с разными параметрами.
Кроме того, я не могу получить доступ к приложению в указанном порту, хотя, когда я непосредственно запускаю его из node.exe, я могу, даже несмотря на то, что приглашение по-прежнему открыто.
(У меня установлены NTVS и WebEssentials - некоторые операции занимают много времени, но я отношу это к тому, что NTVS остается ранней версией.)
Вопрос: Как отладчик Visual Studio остается подключенным к приложению node.js, поэтому я могу использовать точки останова и использовать любой браузер для подключения и тестирования разных URL-адресов? (Даже точка останова на консоли .log, который печатается во время запуска, не запускается.)
Ответы
Ответ 1
Для всех, кто просит получить, и тот, кто ищет находит....
(и да, я потратил много времени на поиск и попытку перед публикацией здесь.)
![Settings]()
Вид приятный для отладки node.js-сервера с VS..
надеюсь, что это поможет кому-то
Изменить: аргументы node.exe могут быть трудночитаемыми на изображении. Это должно быть
--debug=<portno>
который состоит из двух тире (а не только одного), чтобы указать порт отладки.
Ответ 2
Не так много знаний в expressjs
, но с недавним выпуском NTVS
1.0 Alpha, я нашел, что он поддерживает удаленную отладку, которая также может использоваться для отладки приложения nodejs
, запущенного локально, - в любом случае не пробовали, если он работает с nodejs app + expressjs, но он должен.
Я выполнил шаг в этом видео https://youtu.be/-ir9ZB8lUg4, который
- Запустите nodejs с помощью
node.exe RemoteDebug.js <your_javascript_file>
.
RemoteDebug.js
появился при установке NTVS.
- В Visual Studio выберите
Debug
> Attach to Process
- Выберите
Node.js remote debugging
для транспорта
- Введите
localhost:5859
для квалификатора
- Нажмите
Attach
Это приведет к тому, что Visual Studio будет работать в режиме отладки, который вы можете установить для точки останова, сделать шаг за шагом/выходить из игры, очень похожий опыт, когда вы используете VS для отладки .NET-приложения.
Ответ 3
Его довольно прямолинейно с NTVS, вы можете загрузить нужную версию для своих окон из github здесь
После установки NTVS будут добавлены шаблоны проектов NodeJS
Теперь, выберите Файл- > Новый проект → Основное приложение NodeJS Express 3 (оно будет доступно в шаблонах проектов javascript)
Теперь просто отлаживаем и выбираем Начать отладку, добавляем точки останова, когда это требуется, и вы можете начать отладку