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

如何使util.inspect()输出结果始终保持单行格式?

解决util.inspect()输出换行问题

嘿,这个问题我之前调试的时候也踩过坑!util.inspect默认会换行来让复杂对象更易读,但要强制输出单行其实只需要调整它的配置选项就行,给你两个实用的方法:

方法1:通过compact + width参数强制单行

你可以给util.inspect()传入配置对象,把compact设为true,同时将width设为Infinity(表示输出宽度无限制),这样就能让所有内容挤在一行:

const util = require('util');
const testObj = { name: 'Alice', age: 30, hobbies: ['reading', 'coding'], address: { city: 'NY', zip: '10001' } };

// 单行输出
console.log(util.inspect(testObj, { compact: true, width: Infinity }));

方法2:用compact: Infinity更简洁(Node.js v10+支持)

从Node.js v10开始,compact参数支持传入Infinity,这个值会直接强制所有层级的内容都输出在一行,无需额外设置width,写法更简洁:

console.log(util.inspect(testObj, { compact: Infinity }));

额外提示

如果你的对象嵌套层级很深,默认的depth参数(默认值是2)会截断深层内容,要是需要完整显示所有层级,记得加上depth: Infinity:

console.log(util.inspect(deepNestedObj, { compact: Infinity, depth: Infinity }));

这样就能得到你想要的完全单行的输出了,亲测好用!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 04:01:28