Będąc zupełnie nowym w środowisku i filozofii node.js, chciałbym odpowiedzieć na kilka pytań. Ściągnąłem plik node.js dla instalatora systemu Windows, a także menedżera pakietów węzłów. Do uruchamiania aplikacji nodejs jest obecnie używany monit Windows Cmd.
cls czyści okno poleceń lub błędy w wierszu polecenia. Czy istnieje odpowiednik dla node.js? console.clear nie istnieje; (czy jest w innej formie?
Utworzyłem serwer za pomocą poniższego kodu
var http = require("http"); http.createServer(function (request, response) { response.writeHead(200, { "Content-Type": "text/html" }); response.write("Hello World"); console.log("welcome world")response.end(); }).listen(9000, "127.0.0.1");
Zmieniłem kod na poniższy i odświeżyłem przeglądarkę, aby znaleźć, że typ zawartości się nie zmienia, jak mogę zobaczyć zmiany?
var http = require("http");
http.createServer(function(request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World");
console.log("welcome world")
response.end();
}).listen(9000,"127.0.0.1");
windows
node.js
console
windows-vista
Deeptechtons
źródło
źródło
cls
lubclear
?Odpowiedzi:
console.log('\033[2J');
Działa to w systemie Linux. Nie jestem pewien co do okien.
Możesz „oszukać” użytkownika, używając czegoś takiego:
var lines = process.stdout.getWindowSize()[1]; for(var i = 0; i < lines; i++) { console.log('\r\n'); }
źródło
process.stdout.write('\033c');
'\033[2J'
'\033c'
\033
to liczba ósemkowa ESC w ASCII. Wraz ze wspornikiem tworzy CSI (wprowadzający sekwencję kontrolną).0J
,1J
i2J
wyczyść odpowiednio górę, dół i cały ekran.process.stdout.write('\033c');
Działa to również w systemie Windows. Co najmniej Win7.
źródło
Spowoduje to wyczyszczenie konsoli w systemie Windows i umieszczenie kursora na 0,0:
var util = require('util'); util.print("\u001b[2J\u001b[0;0H");
lub
process.stdout.write("\u001b[2J\u001b[0;0H");
źródło
Dotyczy to głównie systemu Linux, ale według doniesień działa również w systemie Windows.
W Ctrl + LGnome Terminal znajduje się, który czyści terminal jako taki. Może być używany z Pythonem, Node JS lub dowolnym Interpretem, który prawdopodobnie używa terminala. Zwykle usuwam wiele razy, więc jest to bardzo przydatne. Natychmiast po wyczyszczeniu w terminalu Gnome możesz to zrobić Ctrl + L, nie ma to nic wspólnego z uruchomioną REPL.
źródło
Używam Windows CMD i to zadziałało dla mnie
console.clear();
źródło
Aby wyczyścić konsolę w trybie ścisłym w systemie Windows:
'use strict'; process.stdout.write('\x1Bc');
źródło
cosole.log('\x1Bc')
i działa, prostsze niż inne rozwiązania, tryb ścisły nie był konieczny.Po prostu użyj
CTRL + L
w systemie Windows, aby wyczyścić konsolę.źródło
Nie testowałem tego w systemie Windows, ale działa na unixie. Sztuczka tkwi w
child_process
module. Sprawdź dokumentację. Możesz zapisać ten kod jako plik i załadować go do REPL za każdym razem, gdy go potrzebujesz.var util = require('util'); var exec = require('child_process').exec; function clear(){ exec('clear', function(error, stdout, stderr){ util.puts(stdout); }); }
źródło
clear || cls
nie wiem, czy okna wspierać||
choćPocząwszy od Node.JS v8.3.0 możesz użyć metody clear :
console.clear()
źródło
Aby rozwiązać problemy w trybie ścisłym:
'use strict'; process.stdout.write('\x1B[2J');
źródło
Jeśli używasz
VSCode
, możesz użyćCTRL + K
. Wiem, że to nie jest ogólne rozwiązanie, ale może niektórym pomóc.źródło
Ctrl+K
wydaje się być jedynym rozwiązaniem, gdy node.js nie przywraca konsoli przy następnym uruchomieniu.Na podstawie odpowiedzi sanatgersappa i kilku innych informacji, które znalazłem, oto, co wymyśliłem:
function clear() { var stdout = ""; if (process.platform.indexOf("win") != 0) { stdout += "\033[2J"; } else { var lines = process.stdout.getWindowSize()[1]; for (var i=0; i<lines; i++) { stdout += "\r\n"; } } // Reset cursur stdout += "\033[0f"; process.stdout.write(stdout); }
Dla ułatwienia wydałem to jako pakiet npm o nazwie cli-clear .
źródło
"\u001b[32;1m"
możesz ustawić nawet kolor tekstu (w linii poleceń Windows) (- cofnij kod :)"\u001b\x1b[0m"
więcej informacji: termsys.demon.co.uk/vtansi.htm i en.wikipedia.org/wiki/ANSI_escape_codeZ
readline
modułu możesz skorzystać :readline.cursorTo(process.stdout, 0, 0)
przesuwa kursor do (0, 0).readline.clearLine(process.stdout, 0)
czyści bieżącą linię.readline.clearScreenDown(process.stdout)
czyści wszystko poniżej kursora.const READLINE = require('readline'); function clear() { READLINE.cursorTo(process.stdout, 0, 0); READLINE.clearLine(process.stdout, 0); READLINE.clearScreenDown(process.stdout); }
źródło
Nie mogłem uruchomić żadnego z powyższych. Używam nodemona do programowania i stwierdziłem, że jest to najłatwiejszy sposób na wyczyszczenie konsoli:
console.log("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
Po prostu przewija konsolę o kilka linii, aby uzyskać przejrzysty ekran dla kolejnych poleceń console.log.
Mam nadzieję, że to komuś pomoże.
źródło
console.log('\n'.repeat(999))
Ten kod działa dobrze na mojej konsoli serwera node.js w systemie Windows 7.
process.stdout.write("\u001b[0J\u001b[1J\u001b[2J\u001b[0;0H\u001b[0;0W");
źródło
Spóźniony, ale ctrl + l działa w Windows, jeśli używasz PowerShell :) Powershell + chocolatey + node + npm = wygrana.
źródło
W moim przypadku zrobiłem to, aby zapętlić się na zawsze i pokazać w konsoli liczbę zawsze w jednej linii:
class Status { private numberOfMessagesInTheQueue: number; private queueName: string; public constructor() { this.queueName = "Test Queue"; this.numberOfMessagesInTheQueue = 0; this.main(); } private async main(): Promise<any> { while(true) { this.numberOfMessagesInTheQueue++; await new Promise((resolve) => { setTimeout(_ => resolve(this.showResults(this.numberOfMessagesInTheQueue)), 1500); }); } } private showResults(numberOfMessagesInTheQuee: number): void { console.clear(); console.log(`Number of messages in the queue ${this.queueName}: ${numberOfMessagesInTheQuee}.`) } } export default new Status();
Po uruchomieniu tego kodu zobaczysz ten sam komunikat „Liczba wiadomości w kolejce Kolejka testowa: 1”. i zmiana liczby (1..2..3 itd.).
źródło
Na Macu po prostu używam Cmd + K, aby wyczyścić konsolę, bardzo poręczne i lepsze niż dodawanie kodów w projekcie, aby to zrobić.
źródło
Ctrl + L To najlepsza, najprostsza i najskuteczniejsza opcja.
źródło