nodejs - Ejecutar la aplicación node.js en depuración con supervisor
get url node js (5)
Desde el sitio de CoffeeScript :
--nodejs El ejecutable del nodo tiene algunas opciones útiles que puede configurar, como --debug, --debug-brk y --max-stack-size. Utilice este indicador para enviar opciones directamente a Node.js.
Intenté esto y funcionó:
supervisor - --nodejs --debug app.coffee
Puedes agregar otros argumentos como este:
supervisor -w. -n error - --nodejs --debug app.coffee
Estoy usando supervisor para recargar automáticamente mi node.js, por ejemplo
supervisor -w . app.js
Sin embargo, no puedo averiguar cómo hacer que el supervisor ejecute el proceso node.js en la depuración, por ejemplo, el equivalente a
node --debug app.coffee
¿Alguien tiene alguna idea?
Esta solución funcionará para * nix:
Vaya a /usr/local/bin
o a cualquier otro directorio en su $ PATH
$ cd /usr/local/bin
Cree un script ejecutable (por ejemplo, node-debug) con el siguiente contenido
#!/bin/bash
node --debug $@
Para hacerlo ejecutable:
$ sudo chmod 777 /usr/local/bin/node-debug
Ahora puedes ejecutar un supervisor así:
$ supervisor -x node-debug script.js
PD: Para redondearlo:
su
echo ''#!/bin/bash
node --debug $@'' > /usr/local/bin/node-debug
chmod 777 /usr/local/bin/node-debug
Esto también funciona (y no necesitas un script de bash separado):
supervisor -- --debug app.js
supervisor -- --debug=7070 app.js
Use la -x
como se documenta en la página de github del node-supervisor
nodos
supervisor -w . -x ''node --debug'' app.js
pero eso no funcionará con coffeescript así que tienes que usar
supervisor -w . -x ''coffee --debug'' app.js
"Todos los argumentos se pasan al proceso hijo. Node-dev --debug server.js depurará su aplicación, no el supervisor en sí".
Cree un script "test.js" node.js en $ HOME / nodetest
Primer terminal (ejecutar nodo en modo de depuración, la depuración escuchará en el puerto 5858, nodo-dev volverá a cargar los archivos modificados):
cd $HOME/nodetest
npm install node-dev
node_modules/.bin/node-dev --debug test.js
Segunda terminal (inicie el inspector web para un navegador basado en WebKit, el inspector se conecta al puerto 5858 del depurador y escucha en el puerto 8080):
cd $HOME/nodetest
npm install node-inspector
node_modules/.bin/node-inspector
Abra esta URL en un navegador basado en WebKit (Chrome, Safari, etc.):
http://0.0.0.0:8080/debug?port=5858
Haga clic en "Scripts" y establezca puntos de interrupción en su código.