console

Node.js console控制台免费看

console模块、Console 类的使用

2020-04-17侠课岛    基础入门       

后端/Node.js/Node.js简明入门 6     0     677

控制台对象 console 是 Node.js 中的 Global 全局对象之一,用于打印标准输出 stdout 和标准错误 stderr 。全局对象在所有模块中都可以使用,console 对象也不例外,不需要使用 require 引用,即可直接使用。

console模块

console 模块提供了一个简单的调试控制台,类似于 Web 浏览器提供的 JavaScript 控制台。调试控制台中可以输出代码运行结果。 console 模块导出两个特定组件:

  • Console 类,包含 console.log()console.error()console.warn() 等方法,可用于写入任何 Node.js 流。
  • 全局的 console 实例,配置为写入 process.stdoutprocess.stderr,console无需调用require('console')即可使用。
示例:

下面我们通过一个示例来使用 全局console

console.log('hello,xkd');  //输出:  hello,xkd

var name = 'xkd';
console.warn(`${name}`);  //输出:  xkd

console.error(new Error('error'));  //输出:  Error: error

使用Console 类的示例:

const out = getStreamSomehow();
const err = getStreamSomehow();
const con = new console.Console(out, err);
con.log('hello,xkd');  // hello,xkd

con.log('hello %s', 'xkd');  // hello xkd

con.error(new Error('xkd'));  // Error:xkd

const name = 'xkd';
con.warn(`${name}`);  // xkd

Console 类的使用

Console 类可用于创建具有可配置的输出流的简单记录器,可以使用 require('console').Consoleconsole.Console(或其结构化对应物)访问:

const Console = require('console').Console;
const Console = console.Console;

或:

const { Console } = require('console');
const { Console } = console;

实例化Console类,创建 Console 对象:

var con = new Console(options)

其中options有如下所示选项:

  • stdout
  • stderr
  • ignoreErrors: 在写入底层流时忽略错误。默认为true。
  • colorMode : boolean或string类型。此 Console 实例设置颜色支持。 设置为 true 会在检查值时启用着色,设置为 'auto' 将使颜色支持取决 isTTY 属性的值和 getColorDepth() 在相应流上返回的值。 如果设置了 inspectOptions.colors,则不能使用此选项。 默认为'auto'。
  • inspectOptions :指定传给 util.inspect() 的选项。

通过一个或两个可写流实例创建一个新的 Console 对象,stdout 是一个用于打印日志或信息输出的可写流。stderr 用于输出警告或错误信息。如果 stderr 没有正常输出,警告或错误将被发送到 stdout

示例:

通过可写流创建新的Console对象:

var fs = require('fs');

const output = fs.createWriteStream('./stdout.log');
const errorOutput = fs.createWriteStream('./stderr.log');
const logger = new Console({ stdout: output, stderr: errorOutput });
const count = 7;
logger.log('count: %d', count);  // count 7

Console 的方法及其使用

Console类中有如下所示的常用方法:

  • console.log([data], [...])
  • console.info([data], [...])
  • console.error([data], [...])
  • console.warn([data], [...])
  • console.dir(obj)
  • console.time(label)
  • console.timeEnd(label)
  • console.trace(message, [...])
  • console.assert(value, [message], [...])

我们简单将一些其中一些方法的使用:

console.log()方法

打印到 stdout,并加上换行符。 可以传入多个参数,第一个参数作为主要信息,其他参数作为类似于 printf(3) 中的代替值(参数都会传给 util.format())。

示例:

使用console.log()方法输出变量的值:

var num = 1;

console.log('值:', num);     // 值: 1
console.log('值: %d', num);  // 值: 1
console.error()方法

使用换行符将信息打印到 stderr。 可以传入多个参数,第一个参数用作主要信息,其他参数用作类似于 printf(3) 中的替换值。

示例:
const num = 1;

console.error('error', num);      // error 1
console.error('error #%d', num);  // error #1

如果在第一个字符串中没有找到格式化元素(如,%d),那么 util.inspect() 会在每个参数上调用并将结果字符串值拼在一起。

console.assert()方法

一个简单的断言测试,验证 value 是否为真。如果不是,则抛出一个 AssertionError

示例:
console.assert(true, '如果值为真,则什么都不做!');

console.assert(false, '如果值为假,则输出错误信息!');
// AssertionError [ERR_ASSERTION]: 如果值为假,则输出错误信息

需要注意一下,如果我们在 Node.js 中使用console.assert(),当值为假时,直接抛出一个AssertionError 错误。但是如果在浏览器中使用,则会打印message到控制台,并且继续执行后续代码。

console.clear()方法

stdout 是 TTY 时,调用 console.clear() 将尝试清除 TTY。 当 stdout 不是 TTY 时,此方法不执行任何操作。
注意console.clear() 的具体操作可能因操作系统和终端类型而异。 对于大多数 Linux 操作系统来说, console.clear() 的操作与 clear 的 shell 命令类似。 但在 Windows 系统上, console.clear() 将仅清除当前终端视图中 Node.js 二进制文件的输出。

console.count()方法

console.count() 方法用于维护一个特定于 label 的内部计数器,并将用给定 label 调用 console.count() 的次数输出到 stdout。参数 label 是计数器的显示标签,默认为'default'

示例:

在命令窗口中输入 node 命令,并按下回车键,使用console.count 方法实现内部计数器:

$ node
> console.count()  // 默认为default
default: 1
undefined
> console.count('default')
default: 2
undefined

> console.count('xkd')
xkd: 1
undefined
> console.count('xkd')
xkd: 2
undefined
> console.count('xkd')
xkd: 3
undefined
console.countReset()方法

console.countReset() 方法重置特定于 label 的内部计数器。label 默认值为 default

$ node
> console.count('xkd');
xkd: 1
undefined
> console.count('xkd');
xkd: 2
undefined
// 使用countReset方法重置计数器
> console.countReset('xkd');
undefined
> console.count('xkd');
xkd: 1

我们使用console.count 方法进行内部计数,会从1一直增加,知道使用 console.countReset 方法进行重置。计数器又会开始从1 进行计数。

本教程图文或视频等内容版权归侠课岛所有,任何机构、媒体、网站或个人未经本网协议授权不得转载、转贴或以其他方式复制发布或发表。

评价

6

本课评分:
  •     非常好
难易程度:
  •     适中的

内容目录


本文索引


|
教程
粉丝
主页

签到有礼

已签到2天,连续签到7天即可领取7天全站VIP

  • 1
    +2 金币
  • 2
    +3 金币
  • 3
    +5 金币
  • 6
    +7 金币
  • 5
    +6 金币
  • 4
    暖心福利
    自选分类VIP ×1天
  • 7
    惊喜大礼

    自选分类VIP ×3天 +20金币
  • 持续签到 +8 金币

金币可以用来做什么?