如何在不写入 process.stdout 或 process.stderr 的情况下写入终端?

max*_*ath 1 tty node.js

我想将内容记录到终端而不将其写入终端process.stdoutprocess.stderr这样管道传输过程就不会被这些日志污染。

这与 bash 非常等效echo "hello" > /dev/tty(请参阅此问题),但我找不到如何直接/dev/tty从节点访问。

rob*_*lep 6

只需将其作为文件打开并写入即可:)

var fs  = require('fs');
var tty = fs.createWriteStream('/dev/tty');

console.log('hello');
tty.write('foo\n');
tty.write('bar\n');
Run Code Online (Sandbox Code Playgroud)