如何让用户在Node.js中input数据进入产生的进程

我有一个程序,我使用child_process在Node.js上以编程方式运行。

var spawnedProcess = childProcess.spawn(command, args); spawnedProcess.stdout.setEncoding("utf8"); spawnedProcess.stdout.on("data", function(data) { return process.stdout.write(data); }); process.stdin.pipe(spawnedProcess.stdin); 

我认为这将工作,因为我input到shell中的所有内容都将被传送到派生进程的标准input中。

我可以看到我正在input的内容,当我按Enter键时,只需给我一个新的行。 shell不响应任何input。

任何线索?

正如在评论中提到的,你可以实际使用npm和jitsu,都可以直接作为模块使用。 您可能需要考虑作为一个选项。

当你从命令行运行它们时,你所做的只是运行这两个脚本:

虽然回答你的问题,除了一点,它看起来完全没问题。 您需要恢复标准inputstream,然后才能进行pipe道操作,如文档doc for process.stdin中所述

你只需要把它添加到你称之为“pipe道”的地方。

 process.stdin.resume()