Windows上的Node.Js – 如何清除控制台
作为node.js环境和哲学的全新手段,我想回答几个问题。 我已经下载了用于Windows安装程序的node.js以及节点包pipe理器。当前正在使用Windows Cmd提示符来运行nodejs应用程序。
-
cls将在命令提示符下清除命令窗口或错误。 有没有相当于node.js? console.clear不存在;(或以其他forms做?
-
我通过下面的代码创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命令到控制台