Node.Js su windows – Come cancellare la console

Essendo totalmente nuovo nell’ambiente e nella filosofia di node.js vorrei rispondere a poche domande. Ho scaricato il file node.js per il programma di installazione di Windows e anche il gestore del pacchetto di nodes. Windows Il prompt Cmd è attualmente utilizzato per l’esecuzione di app nodejs.

  1. cls cancella la finestra di comando o gli errori nel prompt dei comandi. Esiste un equivalente per node.js? console.clear non esiste (o lo fa in qualche altra forma?

  2. Ho creato un server tramite questo codice qui sotto

    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"); 

Ho cambiato il codice in basso e aggiornato il browser per scoprire che il tipo di contenuto non cambia, come posso vedere le modifiche?

 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"); 

 console.log('\033[2J'); 

Funziona su Linux. Non sono sicuro di Windows.

Puoi “ingannare” l’utente usando qualcosa del genere:

 var lines = process.stdout.getWindowSize()[1]; for(var i = 0; i < lines; i++) { console.log('\r\n'); } 
 process.stdout.write('\033c'); 

Questo funziona anche su Windows. Win7 almeno.

Ciò cancella la console su Windows e posiziona il cursore su 0,0:

 var util = require('util'); util.print("\u001b[2J\u001b[0;0H"); 

o

 process.stdout.write("\u001b[2J\u001b[0;0H"); 

Questo è principalmente per Linux, ma è anche segnalato che funziona in Windows.

C’è Ctrl + L nel Terminale Gnome che cancella il terminale come tale. Può essere usato con Python, Node JS o qualsiasi interprete che utilizza presumibilmente un terminale. Tendo a chiarire molte volte, quindi questo è molto utile. Instaed di chiarire in Gnome Terminal puoi semplicemente fare Ctrl + L , non ha nulla a che fare con il REPL in esecuzione.

E per cancellare la console in modalità rigorosa su Windows:

 'use strict'; process.stdout.write('\x1Bc'); 

Non ho provato questo su Windows ma funziona su Unix. Il trucco è nel modulo child_process . Controlla la documentazione. Puoi salvare questo codice come file e caricarlo sul REPL ogni volta che ne hai bisogno.

 var util = require('util'); var exec = require('child_process').exec; function clear(){ exec('clear', function(error, stdout, stderr){ util.puts(stdout); }); } 

Basta usare CTRL + L su Windows per cancellare la console.

sto usando una CMD di Windows e questo ha funzionato per me

 console.clear(); 

Non sono riuscito a far funzionare nessuno di questi. Sto usando nodemon per lo sviluppo e ho trovato questo il modo più semplice per svuotare la console:

  console.log("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"); 

Scorre semplicemente le varie righe della console in modo da ottenere una schermata chiara per i successivi comandi console.log.

Spero che aiuti qualcuno.

Per risolvere i problemi con la modalità rigorosa:

 'use strict'; process.stdout.write('\x1B[2J'); 

Sulla base della risposta di sanatgersappa e di altre informazioni che ho trovato, ecco cosa ho scoperto:

 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 

Per semplificare le cose , l'ho rilasciato come pacchetto npm chiamato cli-clear .

Non c’è console.clear() nel nodo.

Con ES6 JavaScript ha ricevuto il metodo di stringa ''.repeat() , e così possiamo fare:

 console.log('\n'.repeat(1000)); 

che fondamentalmente stamperà 1000 linee vuote e simulerà un console.clear()

Se stai usando VSCode puoi usare CTRL + K So che questa non è una soluzione generica, ma può aiutare alcune persone.

Tardato, ma ctrl + l funziona in Windows se si utilizza powershell 🙂 PowerShell + chocolatey + node + npm = vincente.

Questo codice funziona correttamente sulla mia console del server node.js Windows 7.

process.stdout.write("\u001b[0J\u001b[1J\u001b[2J\u001b[0;0H\u001b[0;0W");

Ctrl + L Questa è l’opzione migliore, più semplice e più efficace.