📜  Node.js 控制台

📅  最后修改于: 2022-05-13 01:56:27.605000             🧑  作者: Mango

Node.js 控制台

Node.js 控制台模块是一个全局对象,它提供了一个类似于 JavaScript 的简单调试控制台来显示不同级别的消息。它由网络浏览器提供。控制台模块包含两个组件:

  • 控制台类:控制台类方法是 console.log()、console.error() 和 console.warn(),用于显示 Node.js 流。
  • 全局控制台:无需调用 require('console') 即可使用。

控制台类示例:创建一个文件并将其保存为example_console_class.js ,文件中包含以下代码。

// It requires the fs module 
const fs = require('fs');
  
const out = fs.createWriteStream('./stdout.log');
const err = fs.createWriteStream('./stderr.log');
  
const myobject = new console.Console(out, err);
  
// It will display 'This is the first example' to out
myobject.log('This is the first example');
  
// It will display 'This is the second example' to out
myobject.log('This is the %s example', 'second');
  
// It will display 'Error: In this we creating some error' to err
myobject.error(new Error('In this we creating some error'));
  
const num = 'third';
  
// It will display 'This is the third error' to err
myobject.warn(`This is the ${num} example`);

如果您观察上面的示例,我们使用带有可配置输出流的 Console 类创建了一个简单对象,并且我们使用console.Console创建了一个Console 类对象

现在,我们将在命令提示符下执行example_console_class.js脚本文件,方法是导航到它所在的文件夹,如下所示。

上面的 node.js 示例将在example_console_class.js文件所在的文件夹中创建一个日志文件(stdout 和 stderr),其中包含所需的消息,如下所示。

全局控制台对象示例:创建一个文件并将其保存为 example_console_object.js,文件中包含以下代码。

// It will display 'This is the first object example' to stdout
console.log('This is the first object example');
  
// It will display 'This is the second object example' to stdout
console.log('This is the %s example', 'second object');
  
// It will display 'Error: New Error has happened' to stderr
console.error(new Error('New Error has happened'));
  
const obj = 'third object';
  
// It will display 'This is the third object example' to stderr
console.warn(`This is the ${obj} example`);

如果您观察上面的代码,我们正在尝试使用全局控制台对象方法(如console.log()、console.error() 和 console.warn())将消息写入 node.js 流。在这里,我们访问全局控制台对象而不使用 require 指令导入它。

现在,我们将执行example_console_object.js文件,为此打开命令提示符 (cmd) 并导航到包含example_console_object.js文件的文件夹并编写命令节点 example_console_object.js并按 Enter 按钮,如下所示。

如果您观察结果,我们可以使用全局控制台对象将所需的消息写入 node.js 流。

控制台方法:除了上述三种方法(console.log()、console.error()、console.warn())之外,node.js 控制台对象中还有一些其他方法可以在 node.js 流中写入或打印消息.

  • console.count():用于统计特定标签被调用的次数。
  • console.clear():用于清除控制台历史记录。
  • console.info():用于在控制台写入消息,是 console.log() 方法的别名。
  • console.time():用于获取动作的开始时间。
  • console.timeEnd():用于获取特定动作的结束时间。
  • console.dir():它在对象上使用 util.inspect() 并将结果字符串打印到标准输出。