node.js - tools - visual studio code debug npm start
¿Cómo puedo depurar las tareas de Gulp usando Node Tools para Visual Studio? (1)
Usted puede. Haga clic con el botón derecho en el proyecto Nodo, seleccione Propiedades y configure su aplicación de la siguiente manera (en la imagen, por default
es la tarea Gulp que desea ejecutar).
Método alternativo:
- En un terminal, y en el directorio donde está el gulpfile, ejecute el
node --debug=44331 --debug-brk ../node_modules/gulp/bin/gulp.js default
. En mi caso, eldefault
es el nombre de la tarea que quiero ejecutar / depurar. - En Visual Studio, vaya a
Debug | Attach to Process
Debug | Attach to Process
. SeleccioneNode.js Remote debugging
como Transporte, y en el calificador seleccionelocalhost:44331
. Presione intro y verá que el proceso del nodo aparece en la lista. Haga clic enAttach
.
Voila, los puntos de quiebre son golpeados.
Un par de cosas para notar:
- Si obtiene algo como
Unable to attach to process. Error 0x80004005
Unable to attach to process. Error 0x80004005
usa un puerto diferente. No pude hacer que funcione con el puerto 5858. - Es posible que no funcione la primera vez que te conectas al proceso (mira mi captura de pantalla anterior para saber cómo obtuve
ECANCELED
?). Inténtalo de nuevo.
Recientemente instalé las herramientas NodeJS para Visual Studio, que promociona el soporte para entornos de nodo en VS. En particular, tiene la capacidad de establecer puntos de interrupción de depuración desde el IDE.
No está claro si es posible establecer puntos de interrupción al depurar tareas de Gulp. El Task Runner tiene la capacidad de detectar la tarea Gulp y enviar las instrucciones de console.log
a una ventana, pero no he encontrado un medio mejor para la depuración.
Encontré esta publicación hace un tiempo: ¿cómo puedo depurar gulpfile.js cuando la ejecuto con Visual Studio Task Runner Explorer? Sin embargo, esta publicación no incluye las herramientas de NodeJS para VS. Por lo tanto, estoy volviendo a hacer la pregunta para tener en cuenta ese complemento.