Node之console模块

资料原文

console
作者笔记pdf


模块组件

​ console模块导出两个组件:

  • Console类(构造器): 含多种方法,可新建输出为任何node.js流的实例

  • 全局console实例: 无需require(),直接使用

    • 输出配置指定为: process.stdout (标准输出)和 process.stderr(标准错误输出)

Console类构造器

  • 构造器/构造函数的获取

    • require('console').Console: console模块的Console属性

    • console.Console: 全局console实例的Console属性

      注: 注意大小写的区别

  • 创建实例

    语法1: new Console(stdout[, stderr][, ignoreErrors])

    语法2: new Console(options)

    • options <Object>

      • stdout <stream.Writable>: console.log的输出位置

      • stderr <stream.Writable>: console.error的输出位置

      • ignoreErrors <boolean>: 在写入底层流时忽略错误。默认值: true.

      • colorMode <boolean> | <string> 设置颜色支持.

        • 设为 true 会在检查值时启用着色
        • 设为’auto’ 将使颜色支持取决 isTTY 属性的值和 getColorDepth() 在相应流上返回的值
        • 若设置了inspectOptions.colors ,则不能使用此选项
        • 默认值: ‘auto’
      • inspectOptions <Object> 指定传给 util.inspect() 的配置选项

        Console的方法:
        大多都是调用util.format()util.inspect()
        因此,inspectOptions项仅对如下内容起作用:
        (1) o% 或 O%
        (2) 直接调用inspect的方法: console.dir()

      var log = new console.Console({
             
      	stdout: process.stdout,
      	stderr: process.stderr,
      	inspectOptions: {
             colors:true}
      }).log;
      
      log('%s %o','hello','world');
      

      ​ 控制台输出:
      在这里插入图片描述

    • 示例代码:

      const output = fs.createWriteStream('./stdout.log');
      const errorOutput = fs.createWriteStream('./stderr.log');
      // 自定义的简单记录器。
      const logger = new Console({
              stdout: output, stderr: errorOutput });
      // 像控制台一样使用它。
      const count = 5;
      logger.log('count: %d', count);
      // 在 stdout.log 中: count 5
      
    • 全局的console: 相当于

      const Console = require('console');
      new Console({
              stdout: process.stdout, stderr: process.stderr }); 
      

Console类的原型方法

断言测试-console.assert()

语法: console.assert(value[, ...message])

作用:

  • value为真: 什么都不做

  • value不为真: 将后续所有参数传给util.format格式化,并输出到实例的stderr(有前缀字符串: "Assertion failed: ")

    注: 断言非真,只会调用 console.assert()打印 message 而不会中断后续代码的执行

    console.assert(true, '什么都不做'); // 无任何输出
    console.assert(false, '%s 工作', '无法');
    // Assertion failed: 无法工作
    

清屏-console.clear()

语法: onsole.clear()

作用:

  • stdout为终端(TTY): 尝试清除TTY上已有的内容

    • 大多数linux: 与clear的shell命令相同

    • windows: 仅清除当前终端视图中 Node.js 二进制文件的输出

      • 仅仅只清除console.clear()所在文件的输出
      • 不会清除其余命令或文件执行的输出
      //文件: console原型方法测试.js
      //console.clear()
      console.log(
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值