You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Node.js中自定义util.inspect()输出格式(无正则/第三方库)

解决Node.js中util.inspect()输出格式化的内置方案

util.inspect本身提供了多个配置参数,无需正则替换就能调整输出格式,组合使用可以贴近原生对象定义的样式:

核心配置参数

  • compact: false:强制每个属性单独换行,你已经用到这个参数解决换行问题
  • indent:设置缩进空格数,比如indent: 2就能匹配手写对象的缩进风格
  • quotes:指定属性名的引号类型,可选'single'或'double',能让属性名引号和原生定义一致
  • depth:若对象有嵌套层级,设为null可展开所有层级;也可指定具体数值限制展开深度
  • showHidden: false:默认值,避免显示对象的隐藏属性

示例代码

const util = require('util');

const targetObj = {
  username: 'demo',
  active: true,
  settings: {
    theme: 'dark',
    fontSize: 14
  }
};

const formattedResult = util.inspect(targetObj, {
  compact: false,
  indent: 2,
  quotes: 'single',
  depth: null
});

console.log(formattedResult);

输出效果

{
  username: 'demo',
  active: true,
  settings: {
    theme: 'dark',
    fontSize: 14
  }
}

该方案完全基于Node.js内置的util模块,不需要额外依赖或正则处理,输出格式基本和手写对象定义一致。需要注意的是,util.inspect的输出是调试用字符串,无法复刻手写对象的注释、自定义空行等细节,但足以满足常规的格式对齐需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 15:03:23