Подтвердить что ты не робот

`binding.pry` для javascript-консоли?

В 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, который работает в консоли браузера?

4b9b3361

Ответ 1

Попробуйте с debugger; в вашем коде как этот ответ предлагает. Ваши инструменты разработчика браузера должны быть открыты.

Ответ 2

В большинстве браузеров есть инструменты разработчика, которые очень похожи на это.

В Chrome, например, нажмите Ctrl + Shift + I, чтобы открыть панель инструментов разработчика. Перейдите на вкладку "Источники", и вы можете просматривать любые загруженные файлы JavaScript. Отсюда вы можете установить точки останова, щелкнув левое поле. Теперь, когда вы перезагружаете страницу, выполнение JavaScript приостанавливается в указанной строке.

В нижней части панели есть кнопка "Показать консоль", которая откроет REPL, с которой вы можете играть.

Вот скриншот, иллюстрирующий все, что я только что упомянул:

Screenshot of Chrome developer tools on StackOverflow

Есть аналогичные инструменты в Firefox, IE, Safari и Opera. Просто Google для "инструментов разработчика [ваш браузер выбора]", чтобы узнать больше о них.

Ответ 3

Я хотел бы упомянуть, что Node.js имеет приятную вещь, называемую Debugger.

Супер короткий учебник:

  • - запустить ваше приложение следующим образом:

node debug appname.js

  1. вместо обычного

node appname.js

Сделай себе одолжение: https://nodejs.org/api/debugger.html Я разместил это, потому что нашел много способов сделать это, которые требуют зависимостей, прежде чем я найду отладчик!