Cannot find module ‘xxx.svg‘ or its corresponding type declarations.ts(2307)

779 阅读1分钟

场景:

vue3 + ts

问题原因:

ts项目里,不能直接引用图片资源的,需要去主动声明这类资源(.d.ts文件)

解决办法:

//在src下新建images.d.ts
//为什么是这个路径下呢,因为tsconfig.json的include选项指定了需要编译的ts文件的路径
//vscode保存文件后需要重启编辑器

//文件内容:
declare module "*.svg";
declare module "*.png";
declare module "*.jpg";
declare module "*.jpeg";
declare module "*.gif";
declare module "*.bmp";
declare module "*.tiff";

.d.ts是什么?

在ts文件中需要引入外部库时,编译时是无法判断传入参数的类型,因此需要在引入前加入一个声明文件来帮助ts判断类型,这个文件就是xxx.d.ts