Windows上的Node.Js – 如何清除控制台

作为node.js环境和哲学的全新手段,我想回答几个问题。 我已经下载了用于Windows安装程序的node.js以及节点包pipe理器。当前正在使用Windows Cmd提示符来运行nodejs应用程序。

  1. cls将在命令提示符下清除命令窗口或错误。 有没有相当于node.js? console.clear不存在;(或以其他forms做?

  2. 我通过下面的代码创build了一个服务器

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

我改变了下面的代码,并刷新浏览器,发现内容types不会改变,我怎么才能看到更改?

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

这在linux上工作。 不确定关于Windows。

你可以用这样的方法“欺骗”用户:

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

这也适用于Windows。 至lessWin7。

这会清除Windows上的控制台,并将光标置于0,0:

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

要么

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

这主要是针对Linux,但也报告在Windows中工作。

在Gnometerminal中有Ctrl + L这样清除terminal。 它可以用于Python,Node JS或任何使用terminal的解释器。 我倾向于清理很多次,所以这非常方便。 在Gnome Terminal中做清理的时候可以只做Ctrl + L ,与REPL运行无关。

在Windows上严格模式下清除控制台:

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

没有在Windows上testing过,但在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); }); } 

只需在Windows上使用CTRL + L清除控制台。

用严格模式解决问题:

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

我无法得到任何上述的工作。 我使用nodemon进行开发,发现这是清除控制台最简单的方法:

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

它只是滚动控制台几行,所以你得到一个清晰的屏幕后续console.log命令。

希望它可以帮助别人。

基于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); } 

为了方便起见,我已经发布了一个名为cli-clear的npm包。

节点中没有console.clear()

使用ES6 JavaScript收到了''.repeat()string方法 ,所以我们可以这样做:

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

这将基本上打印1000空行和模拟console.clear()

迟来的,但按Ctrl + l在Windows中工作,如果你使用powershell 🙂 Powershell +巧克力+节点+ npm =获胜。

此代码在我的node.js服务器控制台Windows 7上正常工作。

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

 (Control + L) 

这是最好,最简单和最有效的select。

如果您使用Windows键入cls命令到控制台

Interesting Posts