文章目录
资料原文
模块组件
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(
-