查看TTY node module,我可以访问process.stdout.rows,它返回“一个数字,指定TTY当前拥有的行数。”但显然可用的和不 可见的代码如下:
let lines = process.stdout.rows
// Clear console
process.stdout.write('\x1Bc')
for (var i = 0; i < lines; i++) {
if (i === 0) {
console.log(1)
} else if (i === Math.round(lines / 2)) {
console.log('halfwayish')
} else if (i === lines - 1) {
console.log('end')
} else {
console.log('\r\n')
}
}
输出:
我如何才能使end
结束,halfwayish
是半途而且1
在第一行,而不必在终端滚动?
答案 0 :(得分:0)
请检查这是否适合您。 编辑后的最终解决方案:
let lines = process.stdout.rows
// Clear console
process.stdout.write('\x1Bc');
var stop = false;
for (var i = 0; i < lines; i++) {
if (i === 0) {
console.log(1);
} else if (i === Math.round(lines / 4)) {
console.log('halfwayish');
} else if (i === lines/2) {
stop = true;
console.log('end');
} else if(stop === false){
console.log('\r\n');
}
}
答案 1 :(得分:0)
process.stdout.on('resize', () => {
process.stdout.write('\x1Bc')
var lines = process.stdout.rows
for (var i = 0; i < lines; i++) {
if (i === 0) {
console.log(1)
} else if (i === Math.round(lines / 2)) {
console.log('halfwayish')
} else if (i === lines - 1) {
console.log('end')
} else {
console.log("")
}
}
});
我认为console.log本身添加了新行,而您添加了另一行使它超出了lines变量所具有的范围。