Если вы работали с Node достаточно долго, скорее всего, вам надоело отсутствие в его экосистеме инструментов plug-and-play для сравнительного анализа и профилирования: ну, по крайней мере, для отладки, скажите «нет». более!
Одной из самых недооцененных функций, появившихся в Node за последний год, является расширенная отладка, которая в сочетании с Chrome DevTools делает чрезвычайно простой отладку и профилирование серверного JavaScript: он поставляется с полной поддержкой обычного подозреваемых, таких как точки останова и профили ЦП, и его очень легко настроить — никаких внешних зависимостей, никаких накладных расходов, только Chrome.
Трюк очень прост, так как вам просто нужно запустить скрипты узлов с флагом --inspect
!
Скажем, у вас есть HTTP-сервер, работающий на порту 8080:
require('http').createServer((req, res) => { console.log('Hello') res.write('Oh my ') res.end('gosh!') }).listen(8080)
вам просто нужно запустить его с node --inspect index.js
и перейти по URL-адресу, указанному в командной строке, например:
/tmp ᐅ node --inspect index.js Debugger listening on port 9229. Warning: This is an experimental feature and could change at any time. To start debugging, open the following URL in Chrome: chrome-devtools://devtools/bundled/inspector.html?experiments=true&v8only=true&ws=127.0.0.1:9229/737e256b-8640-4331-a145-27a119ba43c8
Излишне говорить, что если вы хотите выбрать конкретный порт, вам просто нужно настроить параметр inspect с помощью чего-то вроде --inspect=4000
.
Увидимся в следующий раз!
Первоначально опубликовано на odino.org (12 апреля 2017 г.).