将响应主体流式传输到打字稿中的文件:属性 'pipe' 在类型 'ReadableStream<Uint8Array>' 上不存在

Streaming response body to file in typescript: Property 'pipe' does not exist on type 'ReadableStream<Uint8Array>'

我能够从 API 中获取二进制主体并将其写入节点中的文件。

const fileStream = fs.createWriteStream(filePath);


fetch(apiURL).then((downloadResponse) => {
  downloadResponse.body.pipe(fileStream);

});

但是,这样做时我得到了 linting 错误:

Property 'pipe' does not exist on type 'ReadableStream'

当 linter 给出错误时,调用会起作用,这对我来说似乎很奇怪。 我什至最初认为我的逻辑是错误的并且浪费时间调试这个工作调用...

我的打字稿版本是否由于某种原因错误识别了类型,或者我应该无法执行此调用?

我刚开始使用打字稿,但有时我 运行 陷入这样的特质,当我做一些看起来完全有效的事情时,这让我放慢了速度。

评论中提供的答案确实是正确的,但是在 nextjs 应用程序中使用从服务器端呈现函数(例如 getServerSideProps)获取的内容并不是直截了当的。

在客户端,使用标准提取 api 非常简单,但是在 SSR 上,并不明显必须使用 [=10 额外安装节点提取类型=].