Cómo imprimir en la consola de línea de comandos usando Node, desde el archivo console.log básico hasta escenarios más complejos
- Salida básica usando el módulo de consola
- Limpiar la consola
- Contando elementos
- Imprimir el seguimiento de la pila
- Calcule el tiempo invertido
- stdout y stderr
- Colorea la salida
- Crea una barra de progreso
Salida básica usando el módulo de consola
El nodo proporciona unconsole
móduloque proporciona toneladas de formas muy útiles de interactuar con la línea de comandos.
Básicamente es lo mismo que elconsole
objeto que encuentre en el navegador.
El método más básico y más utilizado esconsole.log()
, que imprime la cadena que le pasa a la consola.
Si pasa un objeto, lo representará como una cadena.
Puede pasar varias variables aconsole.log
, por ejemplo:
const x = 'x'
const y = 'y'
console.log(x, y)
y Node imprimirá ambos.
También podemos formatear frases bonitas pasando variables y un especificador de formato.
Por ejemplo:
console.log('My %s has %d years', 'cat', 2)
%s
formatear una variable como una cadena%d
o%i
formatear una variable como un entero%f
formatear una variable como un número de punto flotante%O
utilizado para imprimir una representación de objeto
Ejemplo:
console.log('%O', Number)
Limpiar la consola
console.clear()
limpia la consola (el comportamiento puede depender de la consola utilizada)
Contando elementos
console.count()
es un método útil.
Toma este código:
const x = 1
const y = 2
const z = 3
console.count(
'The value of x is ' + x + ' and has been checked .. how many times?'
)
console.count(
'The value of x is ' + x + ' and has been checked .. how many times?'
)
console.count(
'The value of y is ' + y + ' and has been checked .. how many times?'
)
Lo que sucede es que el recuento contará el número de veces que se imprime una cadena e imprimirá el recuento a su lado:
Puedes contar manzanas y naranjas:
const oranges = ['orange', 'orange']
const apples = ['just one apple']
oranges.forEach(fruit => {
console.count(fruit)
})
apples.forEach(fruit => {
console.count(fruit)
})
Imprimir el seguimiento de la pila
Puede haber casos en los que sea útil imprimir el seguimiento de la pila de llamadas de una función, tal vez para responder a la pregunta¿Cómo llegaste a esa parte del código?
Puedes hacerlo usandoconsole.trace()
:
const function2 = () => console.trace()
const function1 = () => function2()
function1()
Esto imprimirá el seguimiento de la pila. Esto es lo que se imprime si intento esto en Node REPL:
Trace
at function2 (repl:1:33)
at function1 (repl:1:25)
at repl:1:1
at ContextifyScript.Script.runInThisContext (vm.js:44:33)
at REPLServer.defaultEval (repl.js:239:29)
at bound (domain.js:301:14)
at REPLServer.runBound [as eval] (domain.js:314:12)
at REPLServer.onLine (repl.js:440:10)
at emitOne (events.js:120:20)
at REPLServer.emit (events.js:210:7)
Calcule el tiempo invertido
Puede calcular fácilmente cuánto tiempo tarda en ejecutarse una función, utilizandotime()
ytimeEnd()
const doSomething = () => console.log('test')
const measureDoingSomething = () => {
console.time('doSomething()')
//do something, and measure the time it takes
doSomething()
console.timeEnd('doSomething()')
}
measureDoingSomething()
stdout y stderr
Como vimos, console.log es ideal para imprimir mensajes en la consola. Esto es lo que se llama salida estándar, ostdout
.
console.error
imprime a lastderr
Arroyo.
No aparecerá en la consola, pero aparecerá en el registro de errores.
Colorea la salida
Puede colorear la salida de su texto en la consola usando secuencias de escape. Una secuencia de escape es un conjunto de caracteres que identifica un color.
Ejemplo:
console.log('\x1b[33m%s\x1b[0m', 'hi!')
Puede probar eso en Node REPL, y se imprimiráhi!
en amarillo.
Sin embargo, esta es la forma de bajo nivel de hacer esto. La forma más sencilla de colorear la salida de la consola es utilizando una biblioteca.Tizaes una biblioteca de este tipo y, además de colorear, también ayuda con otras funciones de estilo, como poner el texto en negrita, cursiva o subrayado.
Lo instalas connpm install chalk
, entonces puedes usarlo:
const chalk = require('chalk')
console.log(chalk.yellow('hi!'))
Usandochalk.yellow
es mucho más conveniente que intentar recordar los códigos de escape, y el código es mucho más legible.
Consulte el enlace del proyecto que publiqué anteriormente para obtener más ejemplos de uso.
Crea una barra de progreso
Progresoes un paquete increíble para crear una barra de progreso en la consola. Instálelo usandonpm install progress
Este fragmento crea una barra de progreso de 10 pasos y cada 100 ms se completa un paso. Cuando la barra se completa, borramos el intervalo:
const ProgressBar = require('progress')
const bar = new ProgressBar(’:bar’, { total: 10 })
const timer = setInterval(() => {
bar.tick()
if (bar.complete) {
clearInterval(timer)
}
}, 100)
Descarga mi gratisManual de Node.js
Más tutoriales de nodos:
- Una introducción al administrador de paquetes npm
- Introducción a Node.js
- Solicitudes HTTP usando Axios
- Dónde alojar una aplicación Node.js
- Interactuar con la API de Google Analytics usando Node.js
- El corredor de paquetes de nodo npx
- La guía package.json
- ¿Dónde instala npm los paquetes?
- Cómo actualizar Node.js
- Cómo usar o ejecutar un paquete instalado usando npm
- El archivo package-lock.json
- Control de versiones semántico usando npm
- ¿Deberías enviar la carpeta node_modules a Git?
- Actualice todas las dependencias de Node a su última versión
- Analizando JSON con Node.js
- Encuentre la versión instalada de un paquete npm
- Secuencias de Node.js
- Instale una versión anterior de un paquete npm
- Obtener la carpeta actual en el nodo
- Cómo registrar un objeto en Node
- Exponer la funcionalidad de un archivo de nodo mediante exportaciones
- Diferencias entre el nodo y el navegador
- Hacer una solicitud HTTP POST usando Node
- Obtener datos del cuerpo de la solicitud HTTP usando Node
- Búferes de nodo
- Una breve historia de Node.js
- Cómo instalar Node.js
- ¿Cuánto JavaScript necesita saber para usar Node?
- Cómo usar el REPL de Node.js
- Nodo, acepta argumentos de la línea de comando
- Salida a la línea de comando usando Node
- Acepte la entrada de la línea de comando en el nodo
- Desinstalación de paquetes npm con `npm uninstall`
- paquetes locales o globales de npm
- dependencias npm y devDependencies
- El ciclo de eventos de Node.js
- Entendiendo process.nextTick ()
- Entendiendo setImmediate ()
- El emisor de eventos de nodo
- Construye un servidor HTTP
- Realización de solicitudes HTTP con Node
- El módulo Node fs
- Solicitudes HTTP en Node usando Axios
- Leer archivos con Node
- Rutas de archivo de nodo
- Escribir archivos con Node
- Estadísticas de archivos de nodo
- Trabajar con descriptores de archivo en Node
- Trabajar con carpetas en Node
- El módulo de ruta de nodo
- El módulo http de nodo
- Usando WebSockets con Node.js
- Los conceptos básicos para trabajar con MySQL y Node
- Manejo de errores en Node.js
- La guía Pug
- Cómo leer variables de entorno de Node.js
- Cómo salir de un programa de Node.js
- El módulo Node os
- El módulo de eventos de nodo
- Nodo, la diferencia entre desarrollo y producción
- Cómo comprobar si existe un archivo en Node.js
- Cómo crear un archivo vacío en Node.js
- Cómo eliminar un archivo con Node.js
- Cómo obtener la última fecha de actualización de un archivo usando Node.js
- Cómo determinar si una fecha es hoy en JavaScript
- Cómo escribir un objeto JSON en un archivo en Node.js
- ¿Por qué debería usar Node.js en su próximo proyecto?
- Ejecute un servidor web desde cualquier carpeta
- Cómo usar MongoDB con Node.js
- Utilice Chrome DevTools para depurar una aplicación Node.js
- ¿Qué es pnpm?
- La lista de opciones de Node.js Runtime v8
- Cómo corregir el error "Falta acceso de escritura" al usar npm
- Cómo habilitar los módulos ES en Node.js
- Cómo generar un proceso hijo con Node.js
- Cómo obtener tanto el cuerpo analizado como el cuerpo crudo en Express
- Cómo manejar la carga de archivos en Node.js
- ¿Qué son las dependencias entre pares en un módulo de nodo?
- Cómo escribir un archivo CSV con Node.js
- Cómo leer un archivo CSV con Node.js
- Los módulos principales del nodo
- Incrementar varios números de carpetas a la vez usando Node.js
- Cómo imprimir un lienzo en una URL de datos
- Cómo crear y guardar una imagen con Node.js y Canvas
- Cómo descargar una imagen usando Node.js
- Cómo cambiar el nombre de archivos en masa en Node.js
- Cómo obtener los nombres de todos los archivos en una carpeta en Node
- Cómo usar promesas y esperar con las funciones basadas en devolución de llamada de Node.js
- Cómo probar un paquete npm localmente
- Cómo verificar la versión actual de Node.js en tiempo de ejecución
- Cómo utilizar Sequelize para interactuar con PostgreSQL
- Sirve una página HTML con Node.js
- Cómo resolver el error `util.pump is not a function` en Node.js