You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular 14 + .NET Core 5中pdfjs-dist报OffscreenCanvasRenderingContext2D未找到错误

解决Angular14+pdfjs-dist的TS2304类型错误:找不到OffscreenCanvasRenderingContext2D

这个错误是因为TypeScript无法识别OffscreenCanvasRenderingContext2D类型,本质是项目的TypeScript配置缺少对应API的类型定义,或是pdfjs-dist版本与Angular14的TS版本不兼容。以下是几种可行的解决方法:

方法1:更新tsconfig.json的lib配置

打开项目根目录的tsconfig.json,找到compilerOptions下的lib数组,确保添加ES2020或ESNext(OffscreenCanvas的类型定义包含在ES2020及以上版本的lib中),同时保留DOM相关配置:

"compilerOptions": {
  "lib": [
    "ES2020",
    "DOM",
    "DOM.Iterable"
  ],
  // 其他原有配置...
}

修改后重启Angular开发服务,让配置生效。

方法2:安装@types/web补充类型

如果方法1无效,说明默认的DOM类型库未包含完整的OffscreenCanvas定义,安装@types/web补充类型:

npm install @types/web --save-dev

安装完成后,确保tsconfig.json的compilerOptions中types数组包含web(无则添加):

"compilerOptions": {
  "types": ["web"],
  // 其他配置...
}

方法3:临时添加全局类型声明(应急用)

如果前两种方法都没解决,可手动创建类型声明文件绕过检查:
在src目录下新建typings.d.ts文件,写入以下内容:

declare type OffscreenCanvasRenderingContext2D = any;

注意:这是临时方案,会丢失类型校验,不建议长期使用。

方法4:降级pdfjs-dist到兼容版本

部分新版本pdfjs-dist使用了Angular14默认TS版本不支持的类型,尝试降级到经过验证的兼容版本:

npm install pdfjs-dist@3.4.120 --save

内容的提问来源于stack exchange,提问作者JUNAID M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 23:45:02