Node.js 入门教程 12 使用 Node.js 输出到命令行
创始人
2024-02-18 04:33:34

Node.js 入门教程

Node.js官方入门教程

Node.js中文网

本文仅用于学习记录,不存在任何商业用途,如侵删

文章目录

      • Node.js 入门教程
      • 12 使用 Node.js 输出到命令行
          • 12.1 使用控制台模块的基础输出
          • 12.2 清空控制台
          • 12.3 元素计数
          • 12.4 打印堆栈踪迹
          • 12.5 计算耗时
          • 12.6 stdout 和 stderr
          • 12.7 为输出着色
          • 12.8 创建进度条

12 使用 Node.js 输出到命令行

12.1 使用控制台模块的基础输出

Node.js 提供了 console 模块,该模块提供了大量非常有用的与命令行交互的方法。

在这里插入图片描述

它基本上与浏览器中的 console 对象相同。

最基础、最常用的方法是 console.log(),该方法会打印传入到控制台的字符串。

如果传入对象,则它会呈现为字符串。

可以传入多个变量到 console.log,例如:

const x = 'x'
const y = 'y'
console.log(x, y)

在这里插入图片描述

Node.js 会全部打印出来。

也可以通过传入变量和格式说明符来格式化用语。

例如:

console.log('我的%s已经%d岁', '猫', 2)

在这里插入图片描述

  • %s 会格式化变量为字符串
  • %d 会格式化变量为数字
  • %i 会格式化变量为其整数部分
  • %o 会格式化变量为对象
console.log('%o', Number)

在这里插入图片描述

12.2 清空控制台

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

在这里插入图片描述

12.3 元素计数

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

使用以下代码:

const x = 1
const y = 2
const z = 3
console.count('x 的值为 ' + x + ' 且已经检查了几次?'
)
console.count('x 的值为 ' + x + ' 且已经检查了几次?'
)
console.count('y 的值为 ' + y + ' 且已经检查了几次?'
)

在这里插入图片描述

count 方法会对打印的字符串的次数进行计数,并在其旁边打印计数:

数苹果和橙子:

const oranges = ['橙子', '橙子']
const apples = ['苹果']
oranges.forEach(fruit => {console.count(fruit)
})
apples.forEach(fruit => {console.count(fruit)
})

在这里插入图片描述

12.4 打印堆栈踪迹

在某些情况下,打印函数的调用堆栈踪迹很有用,可以回答以下问题:如何到达代码的那一部分?

可以使用 console.trace() 实现:

const function2 = () => console.trace()
const function1 = () => function2()
function1()

在这里插入图片描述

打印堆栈踪迹。

12.5 计算耗时

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

const doSomething = () => console.log('测试')
const measureDoingSomething = () => {console.time('doSomething()')//做点事,并测量所需的时间。doSomething()console.timeEnd('doSomething()')
}
measureDoingSomething()

在这里插入图片描述

12.6 stdout 和 stderr

console.log 非常适合在控制台中打印消息。 这就是所谓的标准输出(或称为 stdout)。

console.error 会打印到 stderr 流。

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

12.7 为输出着色

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

在这里插入图片描述

例如:

console.log('\x1b[33m%s\x1b[0m', '你好')

在这里插入图片描述

打印黄色的 你好

当然,这是执行此操作的底层方法。 为控制台输出着色的最简单方法是使用库。

Chalk 是一个这样的库,除了为其着色外,它还有助于其他样式的设置(例如使文本变为粗体、斜体或带下划线)。

在这里插入图片描述

先安装

npm install chalk

在这里插入图片描述

使用

const chalk = require('chalk')
console.log(chalk.yellow('你好'))

在这里插入图片描述

可以看到报错了,开始谷歌,说是版本高了

在这里插入图片描述

降成4.1

在这里插入图片描述

再试一次

在这里插入图片描述

OK。

与尝试记住转义代码相比,使用 chalk.yellow 方便得多,并且代码更具可读性。

12.8 创建进度条

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

在这里插入图片描述

在这里插入图片描述

以下代码段会创建一个 10 步的进度条,每 100 毫秒完成一步。 当进度条结束时,则清除定时器:

const ProgressBar = require('progress')const bar = new ProgressBar(':bar', { total: 10 })
const timer = setInterval(() => {bar.tick()if (bar.complete) {clearInterval(timer)}
}, 100)

在这里插入图片描述

可爱捏。

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...