Поскольку я новичок в среде и философии node.js, я хотел бы получить ответы на несколько вопросов. Я загрузил node.js для установщика Windows, а также диспетчер пакетов узлов. В настоящее время командная строка Windows Cmd используется для запуска приложений nodejs.
cls очищает командное окно или ошибки в командной строке. Есть ли аналог для 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");
windows
node.js
console
windows-vista
Глубокие технологии
источник
источник
cls
илиclear
?Ответы:
console.log('\033[2J');
Это работает в Linux. Не уверен насчет окон.
Вы можете «обмануть» пользователя примерно так:
var lines = process.stdout.getWindowSize()[1]; for(var i = 0; i < lines; i++) { console.log('\r\n'); }
источник
process.stdout.write('\033c');
as'\033[2J'
только очищает текущий поток приложения и'\033c'
сбрасывает std\033
восьмеричное число ESC в ASCII. Вместе с скобкой он образует CSI (Control Sequence Introducer).0J
,1J
И2J
ясно , сверху, снизу, и весь экран, соответственно.process.stdout.write('\033c');
Это также работает с окнами. Как минимум Win7.
источник
Это очищает консоль в Windows и помещает курсор на 0,0:
var util = require('util'); util.print("\u001b[2J\u001b[0;0H");
или же
process.stdout.write("\u001b[2J\u001b[0;0H");
источник
Это в основном для Linux, но, как сообщается, работает и в Windows.
Есть Ctrl + Lв Gnome Terminal, который очищает терминал как таковой. Его можно использовать с Python, Node JS или любым интерпретатором, предположительно использующим терминал. Я стараюсь очищать много раз, поэтому это очень удобно. После того, как вы сделаете clear в Gnome Terminal, вы можете просто сделать Ctrl + L, это не имеет ничего общего с запущенным REPL.
источник
Я использую CMD Windows, и это сработало для меня
console.clear();
источник
И чтобы очистить консоль в строгом режиме в Windows:
'use strict'; process.stdout.write('\x1Bc');
источник
cosole.log('\x1Bc')
и он работает, проще, чем другие решения, строгий режим не нужен.Просто используйте
CTRL + L
в Windows, чтобы очистить консоль.источник
Не тестировал это в 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); }); }
источник
clear || cls
не уверен , что если окна поддержки||
хотяНачиная с Node.JS v8.3.0 вы можете использовать метод clear :
console.clear()
источник
Чтобы решить проблемы со строгим режимом:
'use strict'; process.stdout.write('\x1B[2J');
источник
Если вы используете,
VSCode
вы можете использоватьCTRL + K
. Я знаю, что это не универсальное решение, но может помочь некоторым людям.источник
Ctrl+K
кажется единственным решением, когда node.js не восстанавливает консоль при следующем запуске.Основываясь на ответе sanatgersappa и некоторой другой информации, которую я нашел, вот что я придумал:
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); }
Чтобы упростить задачу , я выпустил это как пакет npm под названием cli-clear .
источник
"\u001b[32;1m"
вы можете установить даже цвет текста (в командной строке Windows) (- код отмены :)"\u001b\x1b[0m"
подробнее: termsys.demon.co.uk/vtansi.htm и en.wikipedia.org/wiki/ANSI_escape_codeВы можете использовать
readline
модуль:readline.cursorTo(process.stdout, 0, 0)
перемещает курсор в (0, 0).readline.clearLine(process.stdout, 0)
очищает текущую строку.readline.clearScreenDown(process.stdout)
очищает все, что находится под курсором.const READLINE = require('readline'); function clear() { READLINE.cursorTo(process.stdout, 0, 0); READLINE.clearLine(process.stdout, 0); READLINE.clearScreenDown(process.stdout); }
источник
Я не мог заставить ничего из вышеперечисленного работать. Я использую nodemon для разработки и считаю, что это самый простой способ очистить консоль:
console.log("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
Он просто прокручивает консоль на несколько строк, так что вы получаете чистый экран для последующих команд console.log.
Надеюсь, это кому-то поможет.
источник
console.log('\n'.repeat(999))
Этот код отлично работает на моей серверной консоли node.js Windows 7.
process.stdout.write("\u001b[0J\u001b[1J\u001b[2J\u001b[0;0H\u001b[0;0W");
источник
Запоздало, но ctrl + l работает в Windows, если вы используете powershell :) Powershell + chocolatey + node + npm = win.
источник
В моем случае я сделал это, чтобы зациклить навсегда и показать в консоли число, которое когда-либо было в одной строке:
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();
Когда вы запустите этот код, вы увидите то же сообщение «Количество сообщений в очереди Test Queue: 1.» и изменение числа (1..2..3 и т. д.).
источник
На Mac я просто использую Cmd + K для очистки консоли, что очень удобно и лучше, чем добавление кодов внутри вашего проекта для этого.
источник
Ctrl + L Это самый лучший, самый простой и эффективный вариант.
источник