使用 Node.js 输出到命令行

如何使用 Node.js 打印到命令行控制台,从基本的 console.log 到更复杂的场景

目录

使用控制台模块的基本输出

Node.js 提供了一个 console 模块,它提供了大量非常有用的方式来与命令行进行交互。

它与你在浏览器中找到的 console 对象基本相同。

最基本和最常用的方法是 console.log(),它将你传递给它的字符串打印到控制台。

如果你传递一个对象,它将把它渲染为一个字符串。

你可以将多个变量传递给 console.log,例如:

而 Node.js 将打印两者。

我们还可以通过传递变量和格式说明符来格式化漂亮的短语。

例如:

  • %s 将变量格式化为字符串
  • %d 将变量格式化为数字
  • %i 仅将变量格式化为其整数部分
  • %o 将变量格式化为对象

例子:

清理控制台

console.clear() 清除控制台(行为可能取决于所使用的控制台)

计数元素

console.count() 是一种方便的方法。

拿这个代码:

发生的事情是 console.count() 将计算一个字符串被打印的次数,并在它旁边打印计数:

你可以只数苹果和橘子:

重置计数

console.countReset() 方法重置与 console.count() 一起使用的计数器。

我们将使用苹果和橙子的例子来演示这一点。

请注意对 console.countReset('orange') 的调用如何将值计数器重置为零。

打印堆栈跟踪

在某些情况下,打印函数的调用堆栈跟踪很有用,也许可以回答你是如何到达那部分代码的问题?你可以使用 console.trace() 这样做:

这将打印堆栈跟踪。 如果我们在 Node.js REPL 中尝试此操作,则会打印出以下内容:

计算花费的时间

你可以使用 time()timeEnd() 轻松计算函数运行所需的时间

标准输出和标准错误

正如我们所见,console.log 非常适合在控制台中打印消息。 这就是所谓的标准输出,或 stdout

console.error 打印到 stderr 流。

它不会出现在控制台中,但会出现在错误日志中。

为输出着色

你可以使用 转义序列 为控制台中的文本输出着色。 转义序列是一组标识颜色的字符。

例子:

你可以在 Node.js REPL 中尝试,它将以黄色打印 hi!

但是,这是执行此操作的底层方法。 为控制台输出着色的最简单方法是使用库。 Chalk 就是这样一个库,除了着色之外,它还有助于其他样式设置,例如将文本设为粗体、斜体或下划线。

你用 npm install chalk@4 安装它,然后你就可以使用它了:

使用 chalk.yellow 比死记硬背转义码方便得多,而且代码的可读性也更高。

查看上面发布的项目链接以获取更多使用示例。

创建进度条

进程 是一个很棒的包,可以在控制台中创建进度条。 使用 npm install progress 安装

此代码段创建一个 10 步进度条,每 100 毫秒完成一个步骤。 当柱形结束时,我们清除间隔:

Node.js 中文网 - 粤ICP备13048890号