javascript ruby read-eval-print-loop pry

`binding.pry` para la consola javascript?



ruby read-eval-print-loop (3)

La mayoría de los navegadores tienen herramientas de desarrollador que son muy similares a esto.

En Chrome, por ejemplo, presione Ctrl + Shift + I para abrir el panel de herramientas para desarrolladores. Haga clic en la pestaña "Fuentes" y podrá navegar por cualquier archivo JavaScript que se haya cargado. Desde aquí puede establecer puntos de interrupción haciendo clic en el margen izquierdo. Ahora, cuando vuelva a cargar la página, la ejecución de JavaScript se detendrá en la línea que indicó.

En la parte inferior del panel hay un botón "Mostrar consola" que abrirá un REPL con el que puedes jugar.

Aquí hay una captura de pantalla que ilustra todo lo que acabo de mencionar:

Existen herramientas similares en Firefox, IE, Safari y Opera. Simplemente busque en Google "herramientas de desarrollador [su navegador de elección]" para obtener más información sobre ellas.

En Ruby, puedo escribir binding.pry en cualquier lugar de mi código y en ese punto de ejecución, mi consola ingresará un REPL donde tengo acceso a todas las variables locales, puedo hacer cambios y ejecutar cualquier código arbitrario.

Ejemplo:

# foo.rb require ''pry'' n = 5 binding.pry puts "your number is #{n}"

Cuando lo ejecuto:

$ 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

Esta es una herramienta increíble para la depuración, especialmente para situaciones que requieren una configuración complicada: solo puedo escribir binding.pry en el lugar Necesito más código, desorden, averiguar qué código se debe escribir y luego agregar el código pulido a la código fuente real.

¿Existe una herramienta como pry para javascript que funcione en la consola de un navegador?


Me gustaría mencionar que Node.js tiene una buena cosa llamada Debugger.

Tutorial super corto:

  1. es ejecutar tu aplicación de esta manera:

node debug appname.js

  1. en lugar de lo habitual

node appname.js

Hágase un favor, vea: https://nodejs.org/api/debugger.html Lo publiqué porque encontré muchas formas de hacer esto que requieren dependencia antes de encontrar la herramienta de depuración.


Probar con el debugger; en su código como sugiere esta respuesta . Las herramientas de desarrollo de su navegador deben estar abiertas.