You need to enable JavaScript to run this app. Node.js如何获取console.log带颜色编码的原始输出字符串
优惠活动
大模型
产品
解决方案
定价
更多

Node.js如何获取console.log带颜色编码的原始输出字符串

如何获取Node.js中console.log带ANSI颜色的原始输出字符串

Node.js 的 console.log 内置的着色效果由原生 util 模块的格式化能力实现,默认仅在终端为TTY设备时输出带颜色的ANSI转义码,主动调用带颜色强制开启选项的格式化方法,即可拿到和原生打印效果完全一致的带配色原始字符串。

实现代码

const util = require('node:util');

function getConsoleLogOutput(...args) {
  // 完全对齐console.log内部的格式化逻辑,强制开启颜色输出
  return util.formatWithOptions(
    { colors: true },
    ...args
  );
}

效果验证

let output = getConsoleLogOutput({a: 3});
// output 实际值为 '{ a: \x1B[33m3\x1B[39m }'

console.log(output);
console.log({a: 3});
// 两处console.log在终端的打印效果完全一致

场景适配说明

该方法生成的字符串自带标准ANSI颜色转义码,可直接传给xterm.js的write方法渲染,无需额外处理就能还原和本地Node终端完全一致的着色效果,完全适配浏览器端模拟Node终端的需求。

  • 该实现基于Node.js内置模块,无需安装第三方依赖
  • 生成的转义码为标准ANSI序列,所有支持ANSI颜色的终端模拟器(包括xterm.js)都可以正常解析
  • 若需要自定义颜色规则,可以修改util.inspect.styles和util.inspect.colors全局配置

内容的提问来源于stack exchange,提问作者Binary

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 16:15:03