Módulo REPL de Node.js
REPL esRead-Eval-Print Loopla abreviatura de (bucle de lectura-evaluación-salida), que es un entorno de programación interactivo simple. En el entorno REPL, puedes ingresar código y ver inmediatamente los resultados de ejecución, muy adecuado para probar rápidamente fragmentos de código y aprender nuevos conceptos.
Node.js incluye un entorno REPL incorporado, puedes iniciarlo de la siguiente manera:
node
Funciones básicas de REPL
- Lectura (Read): lee el código JavaScript ingresado por el usuario
- Evaluación (Eval): ejecuta el código ingresado
- Impresión (Print): muestra el resultado de la ejecución
- Bucle (Loop): repite este proceso hasta que el usuario salga
Uso básico de REPL de Node.js
Iniciar REPL
En la terminal, ingresa directamentenodeel comando para entrar en el entorno REPL:
Ejemplo
Welcome to Node.js v16.14.0.
Type ".help" for more information.
>
Operaciones básicas
Ejecutar código JavaScript:
Ejemplo
2
Definir variables:
Ejemplo
undefined
> x * 2
20
Entrada multilínea: cuando ingresas una expresión incompleta, REPL entra automáticamente en modo multilínea:
Ejemplo
... return a + b
... }
undefined
> add(2, 3)
5
Salir de REPL:
- Presiona Ctrl+C dos veces
- Ingresa
.exit - Presiona Ctrl+D
Comandos especiales de REPL
REPL de Node.js proporciona algunos comandos especiales, que comienzan con un punto (.):
Comandos comunes
| Comando | Descripción |
|---|---|
| .help | Muestra todos los comandos de REPL |
| .break | Sale de la entrada multilínea |
| .clear | Restablece el contexto de REPL |
| .save | Guarda la sesión actual en un archivo |
| .load | Carga una sesión desde un archivo |
| .editor | Entra en modo editor |
Ejemplo
Guardar la sesión actual:
Ejemplo
Cargar sesión:
Ejemplo
Entrar en modo editor:
Ejemplo
// Entrar en modo editor, puedes ingresar código multilínea
// Presiona Ctrl+D para ejecutar el código
Funciones avanzadas de REPL
Personalizar el entorno REPL
Puedes crear un entorno REPL personalizado mediante programación:
Ejemplo
// Crear un REPL personalizado
const myRepl = repl.start({
prompt: 'MyNode> ',
useColors: true
});
// Agregar comandos personalizados
myRepl.defineCommand('sayhello', {
help: 'Say hello',
action(name) {
this.clearBufferedCommand();
console.log(`Hello, ${name || 'stranger'}!`);
this.displayPrompt();
}
});
Contexto de REPL
Puedes agregar variables o funciones al contexto de REPL de antemano:
Ejemplo
const r = repl.start();
r.context.myVar = 'Hello from context';
r.context.myFunc = () => 'Hello from function';
En REPL, puedes usar directamente estas variables y funciones:
Ejemplo
'Hello from context'
MyNode> myFunc()
'Hello from function'
Servidor REPL
Incluso puedes crear un servidor REPL de red:
Ejemplo
const repl = require('repl');
net.createServer((socket) => {
repl.start({
prompt: 'Remote> ',
input: socket,
output: socket,
terminal: true
}).on('exit', () => {
socket.end();
});
}).listen(8080);
Escenarios de aplicación práctica de REPL
1. Probar fragmentos de código rápidamente
REPL es la forma más rápida de probar fragmentos de código JavaScript, sin necesidad de crear archivos.
2. Aprender y experimentar
Es muy adecuado para aprender nuevas características de JavaScript o APIs de Node.js.
3. Depuración
Puedes verificar rápidamente valores de variables o probar el comportamiento de funciones en REPL.
4. Desarrollo de prototipos
En las etapas iniciales del desarrollo, puedes usar REPL para validar ideas rápidamente.
Consejos de uso de REPL
1. Usar la variable _
REPL almacena el resultado de la expresión anterior en_la variable:
Ejemplo
4
> _ * 3
12
2. Autocompletado
Presiona la tecla Tab para autocompletar nombres de variables, propiedades de objetos y objetos globales.
3. Historial de comandos
Usa las teclas de flecha arriba y abajo para navegar por el historial de comandos.
4. Modo editor
Para código multilínea complejo, usar.editorel comando es más conveniente.
Resumen
El módulo REPL de Node.js es un potente entorno de programación interactivo que:
- Proporciona la capacidad de probar código JavaScript rápidamente
- Admite configuración y extensión personalizadas
- Incluye muchos comandos y funciones integrados útiles
- Puede usarse para aprendizaje, depuración y desarrollo de prototipos
Tanto para principiantes como para desarrolladores experimentados, REPL es una herramienta muy valiosa que vale la pena dominar.
Otras extensiones
Módulos integrados de Node.js