Da ich völlig neu in der Umgebung und Philosophie von node.j bin, möchte ich Antworten auf einige Fragen. Ich hatte die Datei node.js für Windows Installer und auch den Node Package Manager heruntergeladen. Die Windows Cmd-Eingabeaufforderung wird derzeit zum Ausführen von NodeJS-Apps verwendet.
cls löscht das Befehlsfenster oder Fehler in der Eingabeaufforderung. Gibt es ein Äquivalent für node.js? console.clear existiert nicht (oder in einer anderen Form?
Ich habe einen Server durch diesen Code unten erstellt
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");
Ich habe den Code unten geändert und den Browser aktualisiert, um festzustellen, dass sich der Inhaltstyp nicht ändert. Wie kann ich die Änderungen sehen?
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
quelle
quelle
cls
oderclear
?Antworten:
Dies funktioniert unter Linux. Ich bin mir nicht sicher über Windows.
Sie können den Benutzer mit so etwas "austricksen":
quelle
process.stdout.write('\033c');
, da'\033[2J'
nur der aktuelle Anwendungsstrom'\033c'
\033
ist die Oktalzahl der ESC in ASCII. Mit der Klammer bildet es den CSI (Control Sequence Introducer).0J
,,1J
und2J
löschen Sie den oberen, unteren und gesamten Bildschirm.Dies funktioniert auch unter Windows. Zumindest Win7.
quelle
Dadurch wird die Konsole unter Windows gelöscht und der Cursor auf 0,0 gesetzt:
oder
quelle
Dies gilt hauptsächlich für Linux, soll aber auch unter Windows funktionieren.
Es gibt Ctrl + Lin Gnome Terminal, das das Terminal als solches löscht. Es kann mit Python, Node JS oder jedem Interpreter verwendet werden, der vermutlich Terminal verwendet. Ich neige dazu, oft zu klären, daher ist dies sehr praktisch. Wenn Sie im Gnome-Terminal klarstellen, was Sie einfach tun können Ctrl + L, hat dies nichts mit der Ausführung von REPL zu tun.
quelle
Und um die Konsole im strengen Modus unter Windows zu löschen:
quelle
Ich benutze ein Windows CMD und das hat bei mir funktioniert
quelle
Verwenden Sie einfach
CTRL + L
unter Windows, um die Konsole zu löschen.quelle
Habe dies nicht unter Windows getestet, funktioniert aber unter Unix. Der Trick liegt im
child_process
Modul. Überprüfen Sie die Dokumentation. Sie können diesen Code als Datei speichern und jedes Mal, wenn Sie ihn benötigen, in die REPL laden.quelle
So lösen Sie Probleme im strengen Modus:
quelle
Ab Node.JS v8.3.0 können Sie die Methode clear verwenden :
quelle
Wenn Sie verwenden
VSCode
, können Sie verwendenCTRL + K
. Ich weiß, dass dies keine generische Lösung ist, aber einigen Menschen helfen kann.quelle
Ctrl+K
scheint die einzige Lösung zu sein, wenn node.js die Konsole beim nächsten Lauf nicht wiederherstellt.Ich konnte keines der oben genannten Dinge zum Laufen bringen. Ich verwende nodemon für die Entwicklung und fand dies der einfachste Weg, um die Konsole zu löschen:
Die Konsole wird nur um mehrere Zeilen gescrollt, sodass Sie einen übersichtlichen Bildschirm für nachfolgende console.log-Befehle erhalten.
Hoffe es hilft jemandem.
quelle
console.log('\n'.repeat(999))
Basierend auf der Antwort von sanatgersappa und einigen anderen Informationen, die ich gefunden habe, habe ich mir Folgendes ausgedacht:
Um die Sache zu vereinfachen , habe ich dies als npm-Paket namens cli-clear veröffentlicht .
quelle
"\u001b[32;1m"
Sie sogar die Farbe des Textes einstellen (in der Windows-Befehlszeile) (- Code rückgängig machen :)"\u001b\x1b[0m"
Weitere Informationen: termys.demon.co.uk/vtansi.htm und en.wikipedia.org/wiki/ANSI_escape_codeDieser Code funktioniert gut auf meiner node.js-Serverkonsole Windows 7.
process.stdout.write("\u001b[0J\u001b[1J\u001b[2J\u001b[0;0H\u001b[0;0W");
quelle
Sie können das
readline
Modul verwenden:readline.cursorTo(process.stdout, 0, 0)
bewegt den Cursor auf (0, 0).readline.clearLine(process.stdout, 0)
löscht die aktuelle Zeile.readline.clearScreenDown(process.stdout)
löscht alles unter dem Cursor.quelle
Auf einem Mac verwende ich einfach Cmd + K , um die Konsole zu löschen. Dies ist sehr praktisch und besser als das Hinzufügen von Codes in Ihrem Projekt, um dies zu tun.
quelle
Verspätet, aber Strg + L funktioniert in Windows, wenn Sie Powershell verwenden :) Powershell + Chocolatey + Node + Npm = Gewinnen.
quelle
In meinem Fall habe ich es getan, um für immer eine Schleife zu erstellen und in der Konsole eine Nummer in einer einzigen Zeile anzuzeigen:
Wenn Sie diesen Code ausführen, wird dieselbe Meldung angezeigt: "Anzahl der Nachrichten in der Warteschlange Testwarteschlange: 1." und die Nummer ändert sich (1..2..3 usw.).
quelle
Ctrl + L Dies ist die beste, einfachste und effektivste Option.
quelle