【发布时间】:2015-06-19 19:50:07
【问题描述】:
最初我尝试使用tty.setRawMode(true) 设置原始模式,日志告诉我已弃用,我应该使用process.stdin.setRawMode(true) 但该命令给了我TypeError: Object #<Socket> has no method 'setRawMode' 我似乎无法在原始模式中找到更多建议任何其他方法的模式文档,任何人都知道如何使其工作?
我使用的是 0.10.25 版
【问题讨论】:
-
检查 process.stdin.isTTY 的结果。如果为 false,则节点未在 TTY 上下文中运行,并且 process.stdin 将不是 TTY.readStream
-
要找出原因,我需要有关您如何运行程序的更多信息。您可能在使用
child_process吗? -
我该如何检查呢?我运行它没有结果,
console.log返回未定义。没有子进程。 -
让我换个说法:当你执行节点时,你是在运行脚本还是使用repl?你在 Windows 还是 Linux 上?任何信息都会有所帮助(console.log 总是返回 undefined)。 Node 可能无法检测到它是从终端运行的,因此我需要有关您的环境的更多信息以提供帮助。
-
我的意思是我跑了
console.log(process.stdin.isTTY)并没有定义。我正在运行 linux no repl,我通过终端运行它node myscript.jsstdout.write工作正常,所以标准输入/输出似乎是控制台。
标签: javascript node.js stdin