作为node.js环境和哲学的全新,我想回答几个问题.我已经下载了用于Windows安装程序的node.js以及节点包管理器.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");
Run Code Online (Sandbox Code Playgroud)我将代码更改为下面并刷新浏览器以查找内容类型不会更改,如何查看更改?
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");
Run Code Online (Sandbox Code Playgroud) 我看过这个演示一次打印出一段文字(就像你在打字时得到的那样some-command --help),然后它又跳回到文本中的几个关键词并改变了文字颜色,之后它已经在终端打印出来了.
这对我来说似乎很疯狂.他们是怎么做到的?
开始考虑它,我猜stdout并且stdin在技术上是一个"IO流",所以也许这是一个跟踪光标位置的持久变量?我记得在构建语言解析器时做了类似的事情.
目标是这样的:假设您在控制台中键入以下内容,并输出一个空白数组,因为在Node.js中,它都是异步的,我们不想每次在控制台中编写异步函数:
$ node app.js
> App.User.all()
=> []
Run Code Online (Sandbox Code Playgroud)
然后,当执行异步回调时,您返回并编辑=> []以包含结果:
$ node app.js
> App.User.all()
=> [#<User id:1>, #<User id:2>...]
Run Code Online (Sandbox Code Playgroud)
即使有很多其他问题要解决这个问题,至少知道如何实现也是很棒的(与这个问题无关.我知道你可以定义一个全局回调并做类似的事情App.User.all(_c)).
如何在打印后编辑终端输出?