visual studio protocol node log debug code chrome javascript node.js debugging gulp

javascript - studio - node debug chrome



¿Cómo depurar una tarea Gulp? (7)

Con Node.js versión 6.3+, puede utilizar el indicador --inspect cuando ejecute su tarea.

Para depurar una tarea css llamada css :

  1. Descubre dónde vive tu trago ejecutable. Si gulp se instala localmente, esto será en node_modules/.bin/gulp . Si gulp está instalado globalmente, ejecute which gulp (Linux / Mac) o where gulp (Windows) en un terminal para encontrarlo.

  2. Ejecute uno de estos comandos de acuerdo con su versión de Node.js. Si es necesario, reemplace ./node_modules/.bin/gulp con la ruta de acceso a la instalación de Gulp del paso 1.

    • Node.js 6.3+: node --inspect --debug-brk ./node_modules/.bin/gulp css
    • Node.js 7+: node --inspect-brk ./node_modules/.bin/gulp css
  3. Utilice Chrome para navegar a chrome://inspect .

Los --debug-brk (Node.js 6.3+) y --inspect-brk (Node.js 7+) se utilizan para pausar la ejecución del código en la primera línea de código de su tarea. Esto le da la oportunidad de abrir el depurador de Chrome y establecer puntos de interrupción antes de que finalice la tarea.

Si no desea que el depurador se detenga en la primera línea de código, simplemente use el indicador --inspect .

También puede instalar la extensión Node.js Inspector Manager (NIM) para Chrome para ayudar con el paso 3. Esto abrirá automáticamente una pestaña de Chrome con el depurador listo para usar, como una alternativa a la navegación manual a una URL.

¿Cómo gulpfile.js una tarea gulpfile.js definida en mi gulpfile.js con un depurador como el depurador de Google Chrome, paso a paso por el código de la línea de la línea de la línea?


Gracias, usuario 2943490, en Windows encontré que esta versión funcionó para mí:

node --inspect --debug-brk ./node_modules/gulp/bin/gulp.js --verbose


Me gustó la respuesta de @Avi Y. pero supongo que la gente apreciaría un guión más completo:

gulp.task(''nodemon'', [''sass''], function(cb) { var started = false; consoleLog(''nodemon started''); return nodemon({ //HERE REMOVE THE COMMENT AT THE BEGINING OF THE LINE YOU NEED //exec: ''node --inspect --debug-brk node_modules/gulp/bin/gulp.js'', exec: ''node --inspect --debug-brk'', //exec: ''node --inspect'', script: path.server, ignore: [''*/gulpfile.js'', ''node_modules/*''], verbose: true }).on(''start'', function() { if (!started) { cb(); started = true; } }).on(''restart'', function() { consoleLog(''nodemon restarted the server''); });});


Para cualquier persona que use el Código VS 1.10+

  1. Abra el panel de depuración.
  2. Haga clic en el icono de configuración.
  3. Haga clic en el botón Agregar configuración .
  4. Elija Node.js: Gulp Task.

Así es como debería verse su archivo launch.json.

{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "type": "node", "request": "launch", "name": "Gulp task", "program": "${workspaceFolder}/node_modules/gulp/bin/gulp.js", "args": [ "yourGulpTaskName" ] } ] }


Si está utilizando gulp-nodemon, puede hacer esto en su gulpfile. Simplemente pase la opción execMap:

gulp.task(''default'', function() { nodemon({ script: ''server.js'', ext: ''js'', execMap: { js: "node --inspect" } }) }

Espero que esto ayude.


Si está utilizando webstorm, puede hacer clic con el botón derecho en la tarea en el panel de tragos y seleccionar depurar.