簡體   English   中英

如何讓用戶在Node.js上生成的數據中輸入數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM