gpt4 book ai didi

Node.js 将文本作为 `spawnSync` 的标准输入传递

转载 作者:搜寻专家 更新时间:2023-10-31 22:23:27 25 4
gpt4 key购买 nike

我认为这会很简单,但下面的操作并不像预期的那样。

我想将数据通过管道传输到一个进程,比如说(只是一个任意命令用于说明)wc,来自 Node。

docs及其他SO questions似乎表明传递 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 })

不幸的是,这会引发错误:

The value "Readable { ... } is invalid for option "stdio"

relevant bit of code from internal/child_process.js不会立即透露预期的有效选项是什么。

最佳答案

要将特定数据显示为子进程的 stdin 数据,您可以使用 input 选项:

spawnSync('wc', ['-c'], { input : 'one two three' })

关于Node.js 将文本作为 `spawnSync` 的标准输入传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44891623/

25 4 0
文章推荐: node.js - 通过 aws codebuild 为 nodejs lambda 创建 zip 文件的问题
文章推荐: html - 如何制作基于
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com