Ответ 1
Попробуйте с debugger;
в вашем коде как этот ответ предлагает. Ваши инструменты разработчика браузера должны быть открыты.
В Ruby я могу набрать binding.pry
в любом месте моего кода и в этот момент выполнения моя консоль войдет в REPL, где у меня есть доступ ко всем локальным переменным, может вносить изменения и выполнять любой произвольный код.
Пример:
# foo.rb
require 'pry'
n = 5
binding.pry
puts "your number is #{n}"
Когда я запустил его:
$ ruby foo.rb
From: /Users/cgenco/Desktop/foo.rb @ line 4 :
1: # foo.rb
2: require 'pry'
3: n = 5
=> 4: binding.pry
5: puts "your number is #{n}"
[1] pry(main)> n = 100
=> 100
[2] pry(main)> exit
your number is 100
Это невероятный инструмент для отладки, особенно для ситуаций, требующих сложной настройки: я могу просто набрать binding.pry
на месте, где мне нужно больше кода, беспорядок, выяснить, какой код нужно записать, а затем добавить отполированный кода к фактическому исходному коду.
Есть ли такой инструмент, как pry для javascript, который работает в консоли браузера?
Попробуйте с debugger;
в вашем коде как этот ответ предлагает. Ваши инструменты разработчика браузера должны быть открыты.
В большинстве браузеров есть инструменты разработчика, которые очень похожи на это.
В Chrome, например, нажмите Ctrl + Shift + I, чтобы открыть панель инструментов разработчика. Перейдите на вкладку "Источники", и вы можете просматривать любые загруженные файлы JavaScript. Отсюда вы можете установить точки останова, щелкнув левое поле. Теперь, когда вы перезагружаете страницу, выполнение JavaScript приостанавливается в указанной строке.
В нижней части панели есть кнопка "Показать консоль", которая откроет REPL, с которой вы можете играть.
Вот скриншот, иллюстрирующий все, что я только что упомянул:
Есть аналогичные инструменты в Firefox, IE, Safari и Opera. Просто Google для "инструментов разработчика [ваш браузер выбора]", чтобы узнать больше о них.
Я хотел бы упомянуть, что Node.js имеет приятную вещь, называемую Debugger.
Супер короткий учебник:
node debug appname.js
node appname.js
Сделай себе одолжение: https://nodejs.org/api/debugger.html Я разместил это, потому что нашел много способов сделать это, которые требуют зависимостей, прежде чем я найду отладчик!