2012-07-28 11 views
16

Estoy buscando una manera de generar variables de nodo directamente en la consola del navegador google chrome. De la misma manera, un console.log() funciona en el lado del cliente. Algo así como this for php. Esto aceleraría en gran medida el desarrollo.Salida a la consola de Chrome desde Node.js

+1

Esto no es exactamente lo que estás buscando, pero echar un vistazo en el nodo -inspector, https://github.com/dannycoates/node-inspector/. –

Respuesta

19

NOTA: Dado que la una respuesta anterior (escrita en septiembre de 2014) se refiere a una versión anterior de node-inspector, mis instrucciones ya no son relevantes en 2017. Además, la documentación ha mejorado mucho, así que actualicé mi respuesta original:

node-inspector es lo que necesita. Abre una instancia de Chrome con sus herramientas de desarrollador para la depuración.

También es fácil de usar:

1. Instalar

$ npm install -g node-inspector 

2. inicio

$ node-debug app.js 

Fuente: https://github.com/node-inspector/node-inspector

1

Para los usuarios con nodejs en Linux a través de ssh-shell (masilla):

Problema con nodejs en linux-ssh-shell es que no tiene un navegador conectado. Intenté todas estas soluciones, pero no conseguí que funcionara.

Así que resolví una solución con firebase (https://firebase.google.com), porque mi proyecto usa firebase. Si está familiarizado con Firebase, entonces esta es una gran manera. Si no, vale la pena usar firebase en combinación con nodejs, ¡y es gratis!

En el lado del servidor-script (iniciado con el nodo) utilizan un registro de la función propia():

// server-side: 
// using new firebase v3 ! 
var fbRootRef = firebase.database(); 
var fbConsoleRef = fbRootRef.ref("/console"); 
var log = function(args) { 
    fbConsoleRef.set({'obj': args}); 
} 

// inside your server-code: 
log({'key':'value'}); 

En el lado del cliente se crea una base de fuego en referencia en esta consola a objetos:

// client side: 
fbRootRef.child('/console').on('value', function(d) { 
    var v = d.val(); 
    console.log(v); 
}); 

Ahora todo lo que se registra en el servidor con el log() - la función se transfiere en tiempo real a la base de datos firebase y desde allí desencadena la cliente-consola-referencia e inicia sesión en la consola de navegadores.

Si alguien necesita ayuda, la explicaré con más detalle y podría ofrecer una versión más extendida de este registro con tipos (console./log/warn/info), agrupando con title-info (es decir, el servidor dice: (nombre de archivo) + línea).

La configuración de firebase para su proyecto se realiza en un máximo de 30 minutos, insertando la función de la consola en 30 minutos. ¡Creo que vale la pena el tiempo!

0

Esto es interesante video que encontré en Cómo depurar código en VSC y el navegador Chrome Andrew Mead

You tube link

Cuestiones relacionadas