Saída para linha de comando usando a Node.js
Como imprimir na consola da linha de comando usando a Node.js, desde o console.log básico à cenários mais complexos
Tabela de Conteúdos
Saída básica usando o módulo console
A Node.js fornece um módulo console
que oferece montes de maneiras úteis de interagir com a linha de comando.
É basicamente o mesmo objeto console
que encontras no navegador.
O método mais básico e usado é console.log()
, que imprime a sequência de caracteres que passas para a consola.
Se passas um objeto, será apresentado como uma sequência de caracteres. Tu podes passar várias variáveis ao console.log
, por exemplo:
e a Node.js imprimirá ambos.
Nós podemos também formatar frases passando variáveis e um especificador de formato.
Por exemplo:
%s
formata uma variável como uma sequência de caracteres%d
formata uma variável como um número%i
formata uma variável como um número mas apenas a sua parte inteira%o
formata uma variável como um objeto
Por exemplo:
Limpar a consola
O console.clear()
limpa a consola (o comportamento pode depender da consola usada).
Contando os elementos
O console.count()
é um método prático.
Considere o seguinte código:
O que acontece é que o console.count()
contará o número de vezes uma sequência de caracteres foi imprimida, e imprimirá a contagem próximo a ela:
Tu podes apenas contar maçãs e laranjas:
Reiniciar a contagem
O método console.countReset()
reinicia o contador usado com o console.count()
.
Nós usaremos o exemplo das maças e laranjas para demonstrar isto:
Nota como a chamada para console.countReset('orange')
reinicia o valor do contador à zero.
Imprimir o rasto da pilha
É possível que existam casos onde é útil imprimir a chamada do rasto da pilha de uma função, talvez para responder a questão como chegaste a esta parte do código?.
Tu podes fazer isto usando o console.trace()
:
Isto imprimirá o rasto da pilha. Isto é o que é imprimido se experimentares isto na REPL da Node.js:
Calcular o tempo gasto
Tu podes facilmente calcular quanto tempo uma função leva para executar, usando time()
e timeEnd()
:
stdout
e stderr
Conforme vimos o console.log
é excelente para imprimir mensagens na Consola. Isto é o que é chamada saída padrão, ou stout
.
O console.error
imprime para a corrente de stderr
.
Isto não aparecerá na consola, mas aparecerá no registo de erro.
Colorir a saída
Tu podes colorir a saída do teu texto na consola usando sequências de fuga. Uma sequência de fuga é um conjunto de caracteres que identifica uma cor.
Por exemplo:
Tu podes experimentar isto na REPL da Node.js, e imprimirá hi!
em amarelo.
No entanto, isto é a maneira de baixo nível de fazer isto. A maneira mais simples de colorir a saída da consola é usando uma biblioteca. Chalk é a tal biblioteca, e além de colorir, também ajuda com outras facilidades de estilização, como tornar o texto negrito, itálico ou sublinhado.
Tu podes instalá-la com npm install chalk@4
, então podes usá-la:
Usar a chalk.yellow
é mais conveniente do que tentar lembrar os códigos de fuga, e o código é muito mais legível.
Consulte a ligação do projeto anunciada acima para mais exemplos.
Criar uma barra de progresso
O progress
é um pacote incrível para criar uma barra de progresso na consola. Instale-o usando npm install progress
.
Este trecho cria uma barra de progresso de 10 etapas e a cada 100 milissegundos uma etapa é concluída. Quando a barra concluir limpados o intervalo: