- Оригинальный адрес:Самый простой способ отладки Node.js — с помощью VSCode
- Оригинальный автор:Paige Niedringhaus
- Перевод с:Программа перевода самородков
- Постоянная ссылка на эту статью:GitHub.com/rare earth/gold-no…
- Переводчик:iceytea
- Корректор:fireairforce, cyz980908
Посмотрим правде в глаза... Отладка Node.js всегда была болью в наших сердцах.
Достижение болевых точек отладки Node.js
Если вам когда-либо доводилось писать код для проекта Node.js, вы понимаете, о чем я говорю, когда говорю, что отладка и поиск того, что идет не так, — не самая простая задача.
В отличие от JavaScript в браузере или Java с мощной IDE, такой как IntelliJ, вы не можете везде устанавливать точки останова, обновлять страницу или перезапускать компилятор, и вы не можете медленно просматривать код, проверять объекты, оценивать функции, находить мутации или отсутствовать. переменные и т.д. Ты не можешь этого сделать, это очень плохо.
Но Node.js тоже можно отлаживать, просто для этого требуется немного больше усилий. Давайте серьезно обсудим эти варианты, и я покажу вам самый простой метод отладки, с которым я столкнулся в своем опыте разработки.
Некоторые дополнительные способы отладки Node.js
Существует несколько способов отладки проблемных программ Node.js. Я перечислил эти методы (с подробными ссылками) ниже. Если вы заинтересованы, вы можете пойти, чтобы узнать.
-
Console.log()
— Если вы когда-либо писали код на JavaScript, этот надежный запасной вариант действительно не нуждается в дополнительных пояснениях. Он встроен в Node.js и печатается в терминале точно так же, как встроен в JavaScript и печатается в консоли браузера.
В языке Java этоSystem.out.println()
. В языке Python этоprint()
. Вы видите, что я имею в виду. Это самый простой способ реализации и самый быстрый способ «загрязнить» чистый код дополнительными строками информации, но он также может (иногда) помочь вам найти и исправить ошибки.
-
Документация Node.js
—-inspect
— Сами составители документации Node.js понимали, что отладка — это непросто, поэтому ониудобный справочникПомогите людям начать отладку.
Это полезно, но, честно говоря, это не так просто расшифровать, если вы не занимаетесь программированием какое-то время. Они быстро попали в ловушку UUID, WebSockets и последствий для безопасности, и я начал чувствовать себя подавленным. Я подумал про себя: должен быть менее сложный способ сделать это.
- Chrome DevTools—Paul IrishВ 2016 году написал статью об отладке Node.js с помощью Chrome DevTools.Сообщение блога(и обновлено в 2018 году). Это выглядит довольно просто и является отличным улучшением для отладки.
Спустя полчаса я так и не смог успешно подключить окно DevTools к моей простой программе Node, и я больше не уверен. Может быть, я просто не могу следовать инструкциям, но Chrome DevTools, кажется, делает отладку более сложной, чем должна быть.
- JetBrains— JetBrains — одна из моих любимых компаний по разработке программного обеспечения и один из разработчиков IntelliJ и WebStorm. Их инструменты имеют фантастическую экосистему плагинов, и до недавнего времени они были моей предпочтительной IDE.
С такой профессиональной пользовательской базой многие полезные статьи, такие какВот этот, они отлаживают Node, но, как и в случае с документацией Node и опциями Chrome DevTools, это непросто. Вам нужно создать конфигурации отладки, подключить запущенные процессы и выполнить множество настроек в настройках, прежде чем WebStorm будет готов.
- Visual Studio Code— Это мой новый золотой стандарт отладки узлов. Я никогда не думал, что скажу это, но я полностью вVS Code, и каждый выпуск новой функции, которую команда делает, заставляет меня любить эту IDE еще больше.
VS Code делает все остальные параметры вОтладка Node.jsТо, что никто из них не может сделать, что делает это глупо легким. Если вы хотите сделать свою отладку более продвинутой, это, безусловно, возможно, но они разбивают ее достаточно просто, чтобы любой мог быстро приступить к работе, независимо от вашей IDE, Node и навыков программирования. Это круто.
Настройте VS Code для отладки Node.js
Хорошо, давайте настроим VS Code для отладки Node. я предполагаю, что у вас естьздесьЗагрузите VS Code и начните его настройку.
ОткрытымPreferences > Settings
, введите в поле поискаnode debug
. существуетExtensions
Под вкладками должен бытьNode debug
расширение. Нажмите на первое поле здесь:Debug > Node: Auto Attach, а затем установите параметры раскрывающегося списка наon
. Вы почти закончили настройку. Да, это довольно просто.
Теперь перейдите в файл проекта и установите несколько точек останова, где вы хотите увидеть паузу кода, щелкнув левую боковую панель файла. Введите в терминалеnode --inspect <FILE NAME>
. Смотри, случилось что-то волшебное...
Выполняется отладка кода в VS Code
Если вам нужен проект Node.js для его тестирования, вы можетеэто здесьЗагрузите мой репозиторий. Он используется для тестирования различных форм передачи больших объемов данных с помощью Node, но в этой демонстрации он отлично работает. Если вы хотите узнать больше об узлах потоковой передачи данных и оптимизации производительности, вы можете нажатьздесьиздесь.
когда вы нажимаетеEnter
ключ, нижняя часть вашего терминала VS Code станет оранжевой, указывая на то, что вы находитесь в режиме отладки, и ваша консоль напечатает что-то вродеDebugger Attached
Информация.
Когда вы видите, что это происходит, поздравляю, Node.js работает в режиме отладки!
На этом этапе вы можете видеть точки останова, которые вы установили, в левом нижнем углу экрана (и вы можете переключать включенный статус этих точек останова с помощью флажка), и вы можете выполнять отладку, как в браузере. В верхней центральной части IDE есть маленькие кнопки «Продолжить», «Выйти», «Войти», «Повторить» и т. д. для пошагового выполнения кода. VS Code даже выделяет точки останова и строки, на которых вы остановились, желтым цветом, что упрощает отслеживание.
Когда вы переключаетесь с одной точки останова на другую, вы можете увидеть, как программа распечатывает кучу в консоли отладки в нижней части кода VS.console.log
, желтая подсветка перемещается вместе с ним.
Как видите, по мере выполнения программы, чем больше выводит консоль отладки, тем больше точек останова, и в процессе я могу исследовать объекты и функции в локальной области видимости с помощью инструментов в верхнем левом углу VS Code, как я могу исследовать области и объекты в браузере. хорошо!
Это просто, верно?
Суммировать
Отладка Node.js не должна быть такой громоздкой, как раньше, и вам не нужно включать более 500 кодов в вашу кодовую базу.console.log
чтобы найти местонахождение ошибки.
Код Visual StudioDebug > Node: Auto Attach
Установка делает это делом прошлого, и я очень благодарен за это.
Через несколько недель я напишу о сквозном тестировании, использовании Puppeteer и безголового Chrome или об использовании Nodemailer для сброса паролей в приложениях MERN, так что следите за мной, чтобы не пропустить.
Спасибо за прочтение, надеюсь, эта статья дала вам представление о том, как проще и эффективнее отлаживать программы Node.js с помощью VS Code. Большое спасибо за аплодисменты и за то, что поделились моей статьей!
Если вам понравилось читать эту статью, возможно, вам понравятся и другие мои статьи:
- Чтение очень больших наборов данных и файлов с помощью Node.js (часть 1)
- Выполнение: Node.js SQL ORM Framework
- Триумф потоков: сравнение производительности методов Node.js для чтения больших наборов данных (часть 2)
Ссылки и дополнительные ресурсы:
- Github, Node читает файл Repo:GitHub.com/Hands11/FI…
- Документация Node.js — раздел «Отладка»:узел будет .org/en/docs/gui…
- Пол Айриш: Отладка Node.js с помощью Chrome DevTools:medium.com/@Paul_Irish…
- Документация предоставлена JetBrains — Запуск и отладка Node.js —woohoo.jet brains.com/help/Web предназначен для…
- Ссылка для скачивания кода Visual Studio:code.visualstudio.com/download
- Документация Node.js по отладке VS Code:code.visual studio.com/docs/node будет...
Если вы обнаружите ошибки в переводе или в других областях, требующих доработки, добро пожаловать наПрограмма перевода самородковВы также можете получить соответствующие бонусные баллы за доработку перевода и PR. начало статьиПостоянная ссылка на эту статьюЭто ссылка MarkDown этой статьи на GitHub.
Программа перевода самородковэто сообщество, которое переводит высококачественные технические статьи из Интернета сНаггетсДелитесь статьями на английском языке на . Охват контентаAndroid,iOS,внешний интерфейс,задняя часть,блокчейн,продукт,дизайн,искусственный интеллекти другие поля, если вы хотите видеть больше качественных переводов, пожалуйста, продолжайте обращать вниманиеПрограмма перевода самородков,официальный Вейбо,Знай колонку.