控制台
¥Console
¥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 asconsole.log()
,console.error()
, andconsole.warn()
that can be used to write to any Node.js stream. -
全局的
console
实例,配置为写入process.stdout
和process.stderr
。全局的console
无需调用require('node:console')
就可以使用。¥A global
console
instance configured to write toprocess.stdout
andprocess.stderr
. The globalconsole
can be used without callingrequire('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. Programs that desire to depend on the synchronous / asynchronous behavior of the console functions should first figure out the nature of console's backing stream. This is because the stream is dependent on the underlying platform and standard stream configuration of the current process. 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