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

TypeScript报错:typeof import("*.svg")无法赋值给string类型求助

解决SVG导入类型不匹配报错问题

你的报错根源是当前的global.d.ts只声明了SVG模块导出ReactComponent,但代码中是默认导入SVG并当作字符串类型(img的src要求字符串)使用,TypeScript无法识别这个默认导出的类型,因此抛出类型不匹配错误。

以下是两种针对性的解决方案:

方案一:仅支持SVG作为图片路径导入

修改global.d.ts内容,声明默认导出为字符串类型:

declare module "*.svg" {
  const value: string;
  export default value;
}

方案二:同时支持组件形式和图片路径导入

如果需要在项目中同时使用SVG组件(如<MySvg />)和图片路径两种方式,可修改global.d.ts为:

declare module "*.svg" {
  import type React from 'react';
  // 声明SVG组件类型
  const ReactComponent: React.FC<React.SVGProps<SVGSVGElement>>;
  // 声明图片路径字符串类型
  const src: string;
  export { ReactComponent, src };
  // 默认导出图片路径,适配你当前的代码写法
  export default src;
}

修改后重启TypeScript服务(或重启编辑器),即可解决类型不匹配的报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 13:45:31