Node.Js на windows - Как очистить консоль - PullRequest
76 голосов
/ 25 января 2012

Будучи совершенно новым в среде и философии node.js, я хотел бы получить ответы на несколько вопросов.Я скачал node.js для установщика Windows, а также менеджер пакетов узлов. В настоящее время для запуска приложений nodejs используется приглашение Windows Cmd.,Есть ли эквивалент для node.js?console.clear не существует; (или в какой-то другой форме?

Я создал сервер с помощью этого кода ниже

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

Я изменил код на приведенный ниже и обновил браузер, чтобы выяснить, что тип контента не меняется, как мне увидеть изменения?

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

Ответы [ 16 ]

92 голосов
/ 26 февраля 2012
console.log('\033[2J');

Это работает на Linux.Не уверен насчет windows.

Вы можете «обмануть» пользователя, используя что-то вроде этого:

var lines = process.stdout.getWindowSize()[1];
for(var i = 0; i < lines; i++) {
    console.log('\r\n');
}
67 голосов
/ 15 октября 2014
process.stdout.write('\033c');

Это также работает на окнах. Win7 как минимум.

52 голосов
/ 20 февраля 2013

Это очищает консоль в Windows и устанавливает курсор на 0,0:

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

или

process.stdout.write("\u001b[2J\u001b[0;0H");
39 голосов
/ 07 июня 2014

Это в основном для Linux , но также сообщается, что оно работает в Windows.

В Gnome Terminal есть Ctrl + L , который очищает терминал как таковой. Он может использоваться с Python, Node JS или любым интерпретатором, предположительно использующим терминал. Я имею тенденцию очищать много раз, следовательно, это очень удобно. Если вы не хотите выполнять очистку в Gnome Terminal, вы можете просто Ctrl + L , это не имеет никакого отношения к выполнению REPL

25 голосов
/ 02 октября 2015

И очистить консоль в строгом режиме на Windows:

'use strict';
process.stdout.write('\x1Bc'); 
17 голосов
/ 29 марта 2018

Я использую Windows CMD, и это сработало для меня

console.clear();
8 голосов
/ 03 мая 2016

Просто используйте CTRL + L на окнах, чтобы очистить консоль.

7 голосов
/ 02 декабря 2012

Не проверял это на Windows, но работает на Unix. Хитрость в модуле child_process. Проверьте документацию. Вы можете сохранить этот код в виде файла и загружать его в REPL каждый раз, когда вам это нужно.

var util = require('util');
var exec = require('child_process').exec;

function clear(){
    exec('clear', function(error, stdout, stderr){
        util.puts(stdout);
    });    
}
3 голосов
/ 06 июня 2015

Для решения проблем со строгим режимом:

'use strict';
process.stdout.write('\x1B[2J');
2 голосов
/ 20 января 2018

Если вы используете VSCode, вы можете использовать CTRL + K. Я знаю, что это не общее решение, но может помочь некоторым людям.

...