【发布时间】:2022-12-11 18:53:27
【问题描述】:
我试图弄清楚为什么我使用 TypeScript 的 node.js express 后端无法识别 typescript lib.dom.d.ts 文件中定义的函数。有问题的接口/类型是文件/Blob,一个文件扩展了一个 Blob,我试图访问的函数是 Blob 接口中的 text(),在下面从打字稿 v3.9.5 的 lib.dom.d.ts 文件中执行
interface Blob {
readonly size: number;
readonly type: string;
arrayBuffer(): Promise<ArrayBuffer>;
slice(start?: number, end?: number, contentType?: string): Blob;
stream(): ReadableStream;
text(): Promise<string>;
}
我从前端的 div 生成 PDF,然后将 pdf 作为文件类型发送到后端。
在 VSCode 中,我可以将我的文件转换为文件或 Blob,以便从 Blob 界面查看上面列出的所有只读和函数的 IntelliSense 自动完成选项。
尽管如此,只要我尝试使用 .text() 函数,我的 API 就会失败,并指出 ${variableName}.text 不是函数。
我已尝试将我的 TypeScript 更新为 v3.9.5 question 并将我的 TypeScript 版本设置为我的工作区版本。
在尝试使用 text() 函数之前,我已经通过 console.logging 变量确认传入数据作为文件类型传入。我还尝试使用 IntelliSense 将变量转换为文件和 Blob 以完成调用。
我试图擦除运行我的 nodeJS express 后端的 docker 容器。
【问题讨论】:
-
错误是否发生在运行时?
-
@Konrad 是的,没有启动错误;尝试使用 text() 时只是出错
-
这意味着它与打字稿无关。您的变量不是 blob,因此没有
text方法
标签: node.js typescript express docker-compose