控制台


¥Console

稳定性: 2 - 稳定的

¥Stability: 2 - Stable

源代码: lib/console.js

node:console 模块提供了一个简单的调试控制台,类似于网络浏览器提供的 JavaScript 控制台机制。

¥The node:console module provides a simple debugging console that is similar to the JavaScript console mechanism provided by web browsers.

该模块导出两个特定组件:

¥The module exports two specific components:

  • Console 类,具有 console.log()console.error()、和 console.warn() 等方法,可用于写入任何 Node.js 流。

    ¥A Console class with methods such as console.log(), console.error(), and console.warn() that can be used to write to any Node.js stream.

  • 全局的 console 实例,配置为写入 process.stdoutprocess.stderr。全局的 console 无需调用 require('node:console') 就可以使用。

    ¥A global console instance configured to write to process.stdout and process.stderr. The global console can be used without calling require('node:console').

警告:全局控制台对象的方法既不像它们类似的浏览器 API 那样始终同步,也不像所有其他 Node.js 流那样始终异步。有关详细信息,请参阅 关于进程 I/O 的注意事项

¥Warning: The global console object's methods are neither consistently synchronous like the browser APIs they resemble, nor are they consistently asynchronous like all other Node.js streams. See the note on process I/O for more information.

使用全局的 console 的示例:

¥Example using the global console:

console.log('hello world');
// Prints: hello world, to stdout
console.log('hello %s', 'world');
// Prints: hello world, to stdout
console.error(new Error('Whoops, something bad happened'));
// Prints error message and stack trace to stderr:
//   Error: Whoops, something bad happened
//     at [eval]:5:15
//     at Script.runInThisContext (node:vm:132:18)
//     at Object.runInThisContext (node:vm:309:38)
//     at node:internal/process/execution:77:19
//     at [eval]-wrapper:6:22
//     at evalScript (node:internal/process/execution:76:60)
//     at node:internal/main/eval_string:23:3

const name = 'Will Robinson';
console.warn(`Danger ${name}! Danger!`);
// Prints: Danger Will Robinson! Danger!, to stderr 

使用 Console 类的示例:

¥Example using the Console class:

const out = getStreamSomehow();
const err = getStreamSomehow();
const myConsole = new console.Console(out, err);

myConsole.log('hello world');
// Prints: hello world, to out
myConsole.log('hello %s', 'world');
// Prints: hello world, to out
myConsole.error(new Error('Whoops, something bad happened'));
// Prints: [Error: Whoops, something bad happened], to err

const name = 'Will Robinson';
myConsole.warn(`Danger ${name}! Danger!`);
// Prints: Danger Will Robinson! Danger!, to err