gpt4 book ai didi

typescript - deno 捆绑失败。类型 'getIterator' 上不存在属性 'ReadableStream'

转载 作者:行者123 更新时间:2023-12-05 04:59:44 26 4
gpt4 key购买 nike

使用 bundle 运行 deno 失败并出现以下错误:

error: TS2339 [ERROR]: Property 'getIterator' does not exist on type 'ReadableStream<R>'.
return res.readable.getIterator();
~~~~~~~~~~~
at https://deno.land/std@0.63.0/async/pool.ts:45:23

配置文件

{
"compilerOptions": {
"lib": [
"deno.ns",
"dom",
"dom.iterable"
],
"plugins": [
{
"name": "typescript-deno-plugin"
}
]
}
}

运行命令。

$ deno bundle -c tsconfig.json app.ts app.js

请告诉我。

最佳答案

是什么给我带来了这个错误:

我不确定这个问题是否有一个真正的原因,但就我而言,我在尝试从 Deno std lib 导入“v4”UUID 包时收到此错误,并且我这样做时依赖于传递解决(分两步或更多步)。就我而言,我决定为我的项目重新导出项目根目录下的 deps.ts 文件中的所有依赖项:

[...]
// provide UUID from std lib
export {
v4
} from "https://deno.land/std@0.63.0/uuid/mod.ts";
[...]

...然后,在指定给客户端的脚本中,我通过相对路径导入了该模块并尝试使用它:

// this fails to compile with OP's error
import { v4 } from "../deps.ts";

[...]

const myNewUUID = v4.generate();

我的解决方法:

让消费模块在没有间接引用(通过 URL)的情况下导入外部模块:

// this seems to compile and work OK
import { v4 } from "https://deno.land/std@0.63.0/uuid/mod.ts";

[...]

const myNewUUID = v4.generate();

我没有遇到其他标准模块的这个问题,奇怪的是,即使 deps.ts 中的模块重新加载了 deno 缓存,这种模块解析方法似乎也失败了 - -reload deps.ts-他们仍然无法解决上述错误。所以我不确定这个问题是否与 v4 UUID 包有关,或者是否可能发生在其他模块上。

如果有人有关于为什么此导入策略会引发如此复杂的错误的任何其他信息,我很想听听。 (我的猜测是 Deno.bundle 实现中的错误?)目前,这种解决方法似乎足够合理。

OP 的题外话:您在 tsconfig.json 中包含了库“dom”和“deno.ns”,所以根据 the documentation您还应该提供目标 JS 级别,例如“es2018”(参见:“不要忘记包含 JavaScript 库”)

关于typescript - deno 捆绑失败。类型 'getIterator' 上不存在属性 'ReadableStream<R>',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63383328/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com