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

Angular 16集成MediaInfo.js遇Emscripten类型定义错误

解决Angular 16中mediainfo.js的TypeScript编译错误

问题根源

你遇到的编译错误,是因为mediainfo.js的类型定义依赖的EmscriptenModule和EmscriptenModuleFactory类型,要么在你安装的@types/emscripten@1.39.7版本中结构不匹配,要么TypeScript没有正确识别这些类型。

可行解决方案

1. 升级@types/emscripten到兼容版本

尝试安装适配性更好的Emscripten类型包版本,优先试最新稳定版:

npm install @types/emscripten@latest --save-dev

如果最新版仍有问题,可尝试和mediainfo.js v0.2.1发布时间接近的版本:

npm install @types/emscripten@1.41.0 --save-dev

2. 配置TypeScript自动加载类型

在项目根目录的tsconfig.json中,把emscripten加入types数组,让TypeScript自动识别对应的类型定义:

{
  "compilerOptions": {
    // 保留其他原有配置
    "types": ["emscripten"]
  }
}

3. 手动导入类型(临时修复)

如果前两种方法无效,可在使用mediainfo.js的组件/服务文件顶部,手动导入所需类型:

import type { EmscriptenModule, EmscriptenModuleFactory } from 'emscripten';

4. 临时修改mediainfo.js的类型定义(不推荐长期用)

若以上方案都不行,可直接修改node_modules/mediainfo.js/dist/MediaInfoModule.d.ts文件,在文件顶部添加类型导入:

import type { EmscriptenModule, EmscriptenModuleFactory } from 'emscripten';

注意:这种修改会在包更新后被覆盖,仅作为临时应急方案。

内容的提问来源于stack exchange,提问作者Prashant Gupta

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 13:37:03