9

これは簡単だと思いますが、以下は期待どおりに機能しません。

wcノードからプロセスにデータをパイプしたい、たとえば(説明のための任意のコマンド) 。

docsおよびその他のSOの質問は、 Stream を渡すことが機能することを示しているようです。

const {spawnSync} = require('child_process')
const {Readable} = require('stream')

const textStream = new Readable()
textStream.push("one two three")
textStream.push(null)

const stdio = [textStream, process.stdout, process.stderr]
spawnSync('wc', ["-c"], { stdio })

残念ながら、これはエラーをスローします:

オプション「stdio」の値「Readable { ... } は無効です」

からの関連するコードはinternal/child_process.js、予想される有効なオプションが何であるかをすぐには明らかにしません。

4

1 に答える 1