我很困惑为什么当我尝试在我的 React 应用程序中使用 CompressionStream 时出现编译错误。 对于解压缩流也是如此。我用谷歌搜索了这个问题,但没有看到任何有同样问题的人。 代码片段是:
async function compressFile(file) {
const readableStream = await file.stream();
const compressedReadableStream = readableStream.pipeThrough(new CompressionStream('gzip'));
const compressedFile = await fileSave(new Response(compressedReadableStream), {
fileName: file.name + '.gz',
extensions: ['.gz'],
});
return compressedFile;
}
编译时的错误消息是
Line 262:73: 'CompressionStream' is not defined no-undef
这让我发疯
一开始我怀疑是浏览器的问题,后来发现是编译时的问题。因此与 2020 年存在的 Web API 功能的可用性无关。 所以我不知道是什么原因造成的。
对 CompressionStream 的支持最近才添加到 Firefox 和 Safari 中。
您是否正在尝试为不支持它的构建目标编译您的应用程序?如果是这样,您可以将构建目标更改为仅包含最新版本的 Safair 和 Firerfox。 (如何执行此操作的详细信息将根据您用于构建应用程序的内容而有所不同 -这里是 vite 的说明)。但是,这意味着它不适用于使用这些浏览器旧版本的任何人。