javascript - 检测 Node 是否接收标准输入

标签 javascript node.js

我有兴趣确定是否正在调用我的 Node 脚本并将数据流式传输到其中。

也就是我要区分这两种情况

$ node index.js
$ ls | node index.js

我发现了这种确定方式:

if(process.stdin.isTTY) {
  console.log('called without pipe');
} else {
  console.log('called with data streamed in');
}

可靠吗?它在语义上是否合适?

最佳答案

回答我自己的问题:这是 docs 的链接.

$ node -p -e "Boolean(process.stdout.isTTY)"
true
$ node -p -e "Boolean(process.stdout.isTTY)" | cat
false

关于javascript - 检测 Node 是否接收标准输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39801643/

相关文章:

javascript - 在js之前加载css文件

javascript - 配置 karma.js 以使用 react 和 ES6

javascript - 尝试切换 CSS 属性,但我的 jquery 有问题

javascript - 将 Node request.post 替换为 request-promise

javascript - NodeJS NPM Soap - 如何在没有回调的情况下链接异步方法(即使用异步或 Promise)?

javascript - 显示来自外部 javascript 的返回数据

javascript - 减去不透明度而不是乘以

javascript - JS 文件未在终端中与 Node.js 一起运行

database - 连接到 Node.JS 中的数据库

node.js - npm 安装失败,错误代码为 "Cannot find module ' glob'"