2012-06-17 19 views
50

¿Hay alguna forma de depurar CoffeeScript línea por línea?Depuración CoffeeScript línea por línea

Entiendo que se compila en Javascript. Pero esto parece que podría ser un dolor depurar.

+4

Dado que el JavaScript generado conserva la sangría, los nombres de las funciones y la depuración de variables no es tan malo como la mayoría de las personas piensa. Además, está disponible el soporte para "Source Maps" (en la próxima versión?) En CoffeeScript para abordar esto: http://www.coffeescriptlove.com/2012/04/source-maps-for-coffeescript.html –

+1

Puede configurar [coffeescript debbuging en JetBrains WebStorm] (http://www.youtube.com/watch?feature=player_detailpage&v=Sl1Uk3zT5Fg) –

Respuesta

13

Por el momento es bastante doloroso depurar CoffeeScript. La mayoría de las personas usa muchas pruebas unitarias.

Se está trabajando en la depuración de CoffeeScript, pero es probable que pase un tiempo antes de que tengamos un depurador realmente bueno. Un ejemplo es http://www.infoq.com/news/2011/08/debug-languages-on-javascript-vm

+15

¿Pruebas de unidades espeluznantes para evitar la depuración feliz de la pila de llamadas? ¡Ay! – Esteban

+0

Voy a dejar caer el insecto aquí: https://github.com/jkrems/bugger. Tiene depuración paso a paso para coffee-script 2.x. Para coffee-script 1.x existe el bucle fuerte de node-inspector: https://github.com/strongloop/node-inspector –

29

si está ejecutando CoffeeScript de la terminal se puede depurar la línea a línea usando node-inspector, el lanzamiento de la secuencia de comandos de esta manera:

coffee --nodejs --debug-brk yourscript.coffee 
+1

para la conexión automática del depurador Estoy usando 'coffee --nodejs debug yourscript.coffee ' – dmi3y

33

actualización: no hay actualmente una redesign de compilador coffeescript que genera source maps, que debería permitirle depurar su coffeescript en las versiones más recientes de Google Chrome (18 y más, creo).

Creo que aún no está listo para la producción, pero vale la pena mencionarlo.

+1

Preste atención a que los mapas fuente estén disponibles solo para Chrome Canary, WebKit todas las noches y Firefox 23+. Por cierto, esa será la mejor forma de depurar el código compilado de javascript en el lado del cliente, así que +1 para tu respuesta;) – Wilk

+0

Disponible en Chromium 39, versión actual en los repositorios de Ubuntu Trusty. Y, bueno, "la falta de preparación para la producción" no restringe su uso durante el desarrollo. –

9

Sí, con node-inspector:

npm install -g node-inspector 

Al poner la declaración debugger en el código fuente de la secuencia de comandos, se le permitirá a un punto de ruptura. A continuación, escriba una consola:

coffee -c -m myscript.coffee 
node-debug myscript.js 

Node Inspector es compatible con los mapas de origen listos para usar, por lo que no es necesaria ninguna configuración adicional.

Para obtener más información see this post.

+0

Es fascinante, pero ¿cómo hago que tome en cuenta mi 'requerir 'something.coffee''? –

Cuestiones relacionadas