• Node.js 入门教程 12 使用 Node.js 输出到命令行


    Node.js 入门教程

    Node.js官方入门教程

    Node.js中文网

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

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

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

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

    在这里插入图片描述

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

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

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

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

    const x = 'x'
    const y = 'y'
    console.log(x, y)
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    Node.js 会全部打印出来。

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

    例如:

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

    在这里插入图片描述

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

    在这里插入图片描述

    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 + ' 且已经检查了几次?'
    )
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    在这里插入图片描述

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

    数苹果和橙子:

    const oranges = ['橙子', '橙子']
    const apples = ['苹果']
    oranges.forEach(fruit => {
      console.count(fruit)
    })
    apples.forEach(fruit => {
      console.count(fruit)
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    12.4 打印堆栈踪迹

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

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

    const function2 = () => console.trace()
    const function1 = () => function2()
    function1()
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    打印堆栈踪迹。

    12.5 计算耗时

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

    const doSomething = () => console.log('测试')
    const measureDoingSomething = () => {
      console.time('doSomething()')
      //做点事,并测量所需的时间。
      doSomething()
      console.timeEnd('doSomething()')
    }
    measureDoingSomething()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    12.6 stdout 和 stderr

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

    console.error 会打印到 stderr 流。

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

    12.7 为输出着色

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

    在这里插入图片描述

    例如:

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

    在这里插入图片描述

    打印黄色的 你好

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

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

    在这里插入图片描述

    先安装

    npm install chalk
    
    • 1

    在这里插入图片描述

    使用

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

    在这里插入图片描述

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

    在这里插入图片描述

    降成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)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述

    可爱捏。

  • 相关阅读:
    【DAY04 软考中级备考笔记】数据结构基本结构和算法
    如何本地部署开源AI知识库 FastGPT(新手教程)
    javamd5加密解密
    Java 基础学习总结(200)—— GraalVM 为什么能被称为下一代虚拟机
    WPF透明置顶窗口wine适配穿透问题解决
    一文看完String的前世今生,内容有点多,请耐心看完!
    安科瑞单相无线预付费电能表DDSY1352-NK技术要求-Susie 周
    光伏组件机器视觉新突破!维视智造上线汇流带引线焊接检测新方案 “误检率”低至0.01%
    南京邮电大学汇编语言程序设计实验二
    【学习笔记39】获取DOM标签对象
  • 原文地址:https://blog.csdn.net/weixin_44226181/article/details/128048487