我的node.js应用程序有很多控制台日志,这对我来说很重要(它是一个非常大的应用程序,因此运行了很长时间,我需要知道事情仍在进行中)但我最终会有数千行控制台日志.
是否可能以某种方式console.update擦除/替换控制台线而不是创建新线?
我只想简单地从键盘上读取文本并将其存储到变量中.因此对于:
var color = 'blue'
Run Code Online (Sandbox Code Playgroud)
我希望用户从键盘提供颜色输入.谢谢!
换句话说,node.js等价于C的getchar函数是什么?(等待输入,当它得到它时,它返回字母的字符代码,后续调用从stdin获取更多字符)
我尝试搜索谷歌,但没有一个答案是同步的.
我想构建一个正在运行的小脚本,它应该创建一个类似 bash 的会话(在当前的 bash 会话中,创建进程的地方),稍后可以用于一些疯狂的科学(例如管道到浏览器)。
我尝试使用pty.js,管道stdin到bash进程,以及从 bash 会话到stdout流的数据:
var pty = require("pty.js");
var term = pty.spawn('bash', [], {
name: 'xterm-color',
cols: process.stdout.columns,
rows: process.stdout.rows,
cwd: ".",
env: process.env
});
term.pipe(process.stdout);
process.stdin.pipe(term);
term.on("close", function () {
process.exit();
});
Run Code Online (Sandbox Code Playgroud)
这有效,但它非常有问题:

例如,不会捕获非字符(方向键、制表符等)。
我也尝试使用spawn,这还不错,但仍然有问题。
var spawn = require("child_process").spawn;
var bash = spawn("bash");
bash.stdout.pipe(process.stdout);
process.stdin.pipe(bash.stdin);
Run Code Online (Sandbox Code Playgroud)
有没有更好的解决方案如何在 NodeJS 中创建 bash 包装器?