node.js - createInterface 在终端中打印两次

标签 node.js readline

当使用 readline 接口(interface)时,从 stdin 到 stdout 的所有内容都会打印两次:

var rl = require('readline');
var i = rl.createInterface(process.stdin, process.stdout);

当我运行这段代码时,我在终端中输入的所有内容都会被复制。输入“hello world”会产生:

hheelloo  wwoorrlldd

我想这样做是有道理的,因为 readline 模块旨在将输入通过管道传递到输出。但它不也意味着用于创建命令行界面吗?我对我应该如何使用它感到困惑。帮忙?

最佳答案

尝试使用 terminal: false:

var readline = require("readline");
var rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
  terminal: false
});

关于node.js - createInterface 在终端中打印两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24661774/

相关文章:

node.js - 用于与服务器同步数据的 Web 应用程序

javascript - 快速 GET 路线不起作用

javascript - 如何从 mongodb 数组中删除损坏的引用?

javascript - Node.js 经典示例奇怪的行为

javascript - 如何将带有链接的字符串解析为html链接

python - 从文件中读取行,处理它,然后删除它

Python 错误 : null byte in input prompt

ruby - IRB 历史不适用于 Ruby 2.3.0

c - 在 c 中使用 readline() 编辑命令

javascript - 覆盖多个先前的终端输出