node.js - 如何从 NodeJS 管道到 NodeJS?

标签 node.js bash pipe stdout stdin

我想做的是这样的:

node x.js | node y.js

文件 x.js 只是打印一个字符串:

console.log("hi");

文件 y.js 旨在通过 process.stdin 获取字符串“hi”并对其执行某些操作。

但是它不起作用。 zsh(我的 shell)抛出此错误:zsh:找不到命令: Node

我做错了什么?

最佳答案

第二个文件中的内容确实很重要。您需要从标准输入读取。请尝试以下操作。

$ cat hi.js 
console.log("hi");

$ cat read.js 
var readline = require('readline');
var rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
  terminal: false
});

rl.on('line', function(line){
    console.log(line);
})

$ node hi.js | node read.js
hi

关于node.js - 如何从 NodeJS 管道到 NodeJS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59224544/

相关文章:

javascript - Express router 将 style.css 作为 request.params 传递并且可能调用路由两次?

node.js - PrintToPDF 无法在 headless Chrome 60 中工作

node.js - 从包含的 eval 脚本访问 Nodejs main 的局部变量上下文

json - 如何使用 Bash 删除 json 文件中的最后一个逗号?

linux - 如果我正在使用 ssh 远程执行其中一个脚本,那么在将参数从一个脚本传递到另一个脚本时如何保留空格?

javascript - 导入或要求 javascript 文件两次以进行 Mocha 测试

c - 如何使 UNIX 管道提示用户正确输入?

c - UNIX 中的管道不应该是单向的吗?

perl - 如何在Perl中读写管道?

linux - 编写一个 txt 文件的脚本,询问您想要在文件中包含什么内容