[英]How to let user type in data into a spawned process on Node.js
我有一個使用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);
我以為這樣會行得通,因為我在shell中鍵入的所有內容都將通過管道傳遞到生成的進程的stdin中。
我可以看到輸入的內容,當我按Enter鍵時,請給我換行。 外殼不響應任何輸入。
有什么線索嗎?
如評論中所述,您實際上可以同時使用npm和jitsu,它們都可以直接用作模塊。 您可能希望將其作為一種選擇。
從命令行運行它們時,您正在做的是運行以下兩個腳本:
不過,要回答您的問題,除了一點點,它看起來都很好。 您需要先恢復stdin流,然后才能對其進行管道傳輸,如process.stdin的文檔Docs中所述
您只需將其添加到稱為“管道”的位置。
process.stdin.resume()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.