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
相关产品推荐
相关产品推荐

