console 控制台
稳定性: 2 - 稳定
源代码: lib/console.js
console
模块提供了一个简单的调试控制台,类似于网络浏览器提供的 JavaScript 控制台机制。
该模块导出两个特定组件:
Console
类,具有console.log()
、console.error()
和console.warn()
等方法,可用于写入任何 Node.js 流。- 全局的
console
实例,配置为写入process.stdout
和process.stderr
。 全局的console
无需调用require('console')
就可以使用。
警告:全局的控制台对象的方法既不像与其相似的浏览器 API 那样始终同步,也不像所有其他 Node.js 流那样始终异步。 有关更多信息,请参阅进程 I/O 的注意事项。
使用全局的 console
的示例:
console.log('hello world');
// 打印: hello world 到标准输出
console.log('hello %s', 'world');
// 打印: hello world 到标准输出
console.error(new Error('Whoops, something bad happened'));
// 打印错误消息和堆栈跟踪到标准错误:
// 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!`);
// 打印: Danger Will Robinson! Danger! 到标准错误
使用 Console
类的示例:
const out = getStreamSomehow();
const err = getStreamSomehow();
const myConsole = new console.Console(out, err);
myConsole.log('hello world');
// 打印: hello world 到输出
myConsole.log('hello %s', 'world');
// 打印: hello world 到输出
myConsole.error(new Error('Whoops, something bad happened'));
// 打印: [Error: Whoops, something bad happened] 到错误
const name = 'Will Robinson';
myConsole.warn(`Danger ${name}! Danger!`);
// 打印: Danger Will Robinson! Danger! 到错误
Stability: 2 - Stable
Source Code: lib/console.js
The 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:
- A
Console
class with methods such asconsole.log()
,console.error()
andconsole.warn()
that can be used to write to any Node.js stream. - A global
console
instance configured to write toprocess.stdout
andprocess.stderr
. The globalconsole
can be used without callingrequire('console')
.
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.
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
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