node.js - commands - how node based web servers are different from traditional web servers
Cómo escribir múltiples líneas de código en Node REPL (3)
Me gustaria evaluar
var foo = "foo";
console.log(foo);
como un bloque, en lugar de evaluar línea por línea
var foo = "foo";
undefined
console.log(foo);
foo
undefined
¿Hay una forma sencilla de mover el indicador a la siguiente línea?
La solución de jhnstn es perfecta, pero en caso de que busque otras alternativas, puede colocar el código dentro de una cadena multilínea y luego eval
así:
> let myLongCode = `
... let a = 1;
... let b = 2;
... console.log(a + b);
... `;
> eval(myLongCode)
> 3
Por supuesto esto es un hack;)
Nodo v6.4 tiene un modo editor
. En el indicador de .editor
escriba .editor
y puede ingresar múltiples líneas.
ejemplo
$ node
> .editor
// Entering editor mode (^D to finish, ^C to cancel)
const fn = there => `why hello ${there}`;
fn(''multiline'');
// hit ^D
''why hello multiline''
> // ''block'' gets evaluated and back in single line mode.
Aquí están los documentos en todos los comandos especiales de respuesta https://nodejs.org/api/repl.html#repl_commands_and_special_keys
Puede usar if(1){
para iniciar un bloque que no terminará hasta que ingrese }
. Se imprimirá el valor de la última línea del bloque.
> {
... var foo = "foo";
... console.log(foo);
... }
foo
undefined
En el modo multilínea, se pierde una gran cantidad de detalles REPL, como el autocompletado y la notificación inmediata de errores de sintaxis. Si se queda atascado en el modo multilínea debido a un error de sintaxis dentro del bloque, use ^C
para volver al indicador normal.