2017-06-01 86 views
0

查看TTY node module,我可以訪問process.stdout.rows,它返回「」一個數字,指定TTY當前具有的行數。 「但顯然可用者和可見那些如下面的代碼:在Node.js中獲取終端的可見行數(或高度)

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') 
    } 
} 

輸出:

enter image description here

我怎樣才能讓這個end是在結束,halfwayish已經過時了,1在第一行,而不必在終端中滾動?

回答

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'); 
    } 
} 
+0

這是行不通的。它將輸出行之間沒有空格。 – Tom

+0

請檢查後編碼與console.log('\ r \ n')每個if語句後,並註釋掉其他console.log('\ r \ n') –

+0

我希望'結束'在最後,「halfwayish」爲一半,「1」爲第一行。我已經更新了我的問題,使其更清楚。 – Tom