2011-12-03 22 views
52

Probando node.js por primera vez. Configure el nodo, configure la aplicación de ejemplo desde el sitio nodejs.org. Puede iniciar bien el servidor, pero console.log() no está registrando nada. Intentó la consola de Javascript en Chrome, Firefox y Safari: no aparece nada en el registro. También revisé la consola en mi Mac solo por las patadas, tampoco había nada allí. ¿Qué me estoy perdiendo?Node.js console.log() no iniciando sesión

(Aquí está el código de ejemplo que funciona, pero no registra nada.)

var http = require('http'); 
http.createServer(function (req, res) { 
    res.writeHead(200, {'Content-Type': 'text/plain'}); 
    res.end('Hello World\n'); 
}).listen(1337, "127.0.0.1"); 
console.log('Server running at http://127.0.0.1:1337/'); 
+0

¿Cómo funciona esta aplicación? ¿Qué ambiente? Si está en la consola en su máquina local, entonces debería ver los registros que provienen de la aplicación allí. Si está utilizando una solución alojada, generalmente proporcionan una forma de ver los registros a través de una interfaz web y a través de su herramienta API de línea de comandos. – Treffynnon

+0

No puedo replicar esto en mi máquina. Esto funciona bien. ¿Qué versión estás ejecutando? –

+3

console.log() emite las cadenas en la ventana del terminal (la interfaz de la línea de comandos donde se ejecuta la aplicación) –

Respuesta

115

En un servidor Node.js console.log salidas a la ventana de terminal, no a la ventana de la consola del navegador.

¿Cómo está ejecutando su servidor? Debería ver la salida directamente después de iniciarla.

+58

Yo votaría mi propia pregunta si pudiera. No puedo creer que no haya hecho esta conexión. – chrismanderson

+2

todos los que estén mirando con nodejs esperan lo mismo ... la salida de la consola debe iniciar sesión en la consola del navegador, así como en la terminal. –

+9

@Brad No, no debería. No todos los programas de nodo son servidores web, e incluso si lo fueran aún no tendría sentido. – david

8

Esto puede ser confuso para cualquiera que use nodejs por primera vez. En realidad, es posible canalizar la salida de la consola de su nodo a la consola del navegador. Eche un vistazo a connect-browser-logger on github

ACTUALIZACIÓN: Como señaló Yan, connect-browser-logger parece haber desaparecido. Recomendaría NodeMonkey como se detalla aquí: Output to Chrome console from Node.js

+0

El proyecto github ya no existe – yan

1

Utilizando el signo moderno --with con nodo el console.log se captura y retransmite al navegador.

nodo --inspect myApp.js

o para capturar el registro temprano --inspect-BRK se puede utilizar para detener el programa en la primera línea del primer módulo ...

nodo - inspeccionar-brk myApp.js

Cuestiones relacionadas