获取Node.js中的终端宽度

exe*_*ook 31 terminal node.js

console.log(process.env.COLUMNS)
Run Code Online (Sandbox Code Playgroud)

undefined但是,收益率

$ echo $COLUMNS
Run Code Online (Sandbox Code Playgroud)

按预期输出:

78
Run Code Online (Sandbox Code Playgroud)

我一直在试图运行节点像这样env node myprog.js,还是undefined.我或其他任何方式知道终端的宽度有什么问题?(为了很好地格式化某些输出数据).

sta*_*aar 50

console.log('Terminal size: ' + process.stdout.columns + 'x' + process.stdout.rows);
Run Code Online (Sandbox Code Playgroud)

输出看起来像例如"终端大小:80x24".如果控制台大小发生变化,也会发生一个事件.

它在文档中的tty下解释.

  • 我相信,它应该用作“(process.stdout.columns || defaultColumns)”,因为“stdout.columns”可能是“未定义”。 (3认同)