2012-04-17 10 views
11

actualizado desde el nodo 0.4.11 a 0.6.15, y se dio cuenta de la réplica (nodo que ejecuta sin argumentos) sigue dumping "indefinido" después de la mayoría de los comandos o carruajes devuelve ...Node.JS REPL "indefinido"

Me distrae y me está volviendo loco, ¿cómo inhabilitas esto?

> 
undefined 
> 
undefined 
> 
undefined 
> 
undefined 
> var x = 2 
undefined 
> x 
2 
> 
+1

Relacionado, [node.js muestra "indefinido" en la consola] (http://stackoverflow.com/q/8457389/418183). –

+0

Gracias, entiendo lo que no está definido, pero quiero deshacerme de él cuando ejecute el repl de la línea de cmd. Es una distracción. – 7zark7

+0

No entiendo por qué si escribo var a = 2; entonces, ¿por qué está imprimiendo indefinido? – landed

Respuesta

8

Consulte la página de documentación de Node.js REPL.

Específicamente esto:

Si ignoreUndefined se establece en true, entonces la voluntad no repl valor de retorno de salida del comando si es undefined. El valor predeterminado es false.

Código de ejemplo: salida

var net = require("net"), 
    repl = require("repl"); 

repl.start(null, null, null, null, true); 

muestra:

> var x 
> var blah 

Adicionalmente se podría crear un alias node a

node -e "require('repl').start(null, null, null, null, true)" 
+0

Vi eso, pero siento ser denso: no entiendo cómo configurar esto cuando ejecuto un nodo desde la línea de comando. No estoy lanzando repl de un script. Esto menciona repl.start (...), etc. – 7zark7

+0

He actualizado con un código de ejemplo – deltanovember

+2

Ampliando el código de muestra de @ deltanovember, para obtener el comportamiento que desea, use '' node -e "require ('repl'). start (null, null, null, null, true) "' 'desde la línea de comandos. Tal vez alias? –

7

Otra forma de invocar nodo sin los indefinidos retornos de comandos es por:

node -e "require('repl').start({ignoreUndefined: true})" 

desde la línea de comandos

+0

¡Increíble, gracias! – 7zark7

+0

Me gusta mucho esto mejor. De hecho, puedo decir lo que está haciendo. – Chev

0
# node -i -e "repl.repl.ignoreUndefined=true" 

Mi nuevo _node alias (v6.11.2).

La ventaja que veo en esto sobre otros aquí, es que afecta el contexto actual/predeterminado de la réplica ... ¡que es donde estaba todo el historial de comandos de mi nodo!