vite项目+typescript的项目中 导入图片后报找不到模块处理方法
问题
在使用ts书写代码时,导入本地文件夹中图片,会出现报错:****找不到模块,但是又能正常使用该图片。
这样的报错启动项目是没有问题,但是最后打包会报错。所以不得不处理
处理方法:
我们需要主动的去声明这个module。新建一个ts声明文件如:images.d.ts(如下)就可以了。这样ts就可以识别svg、png、jpg等等图片类型文件。项目编译过程中会自动去读取.d.ts这种类型的文件,所以不需要我们手动地加载他们。当然.d.ts文件也不能随便放置在项目中,这类文件和ts文件一样需要被typescript编译,所以一样只能放置在tsconfig.json中include属性所配置的文件夹下。
// images.d.ts 文件内容
declare module '*.svg';
declare module '*.png';
declare module '*.jpg';
declare module '*.jpeg';
declare module '*.gif';
declare module '*.bmp';
declare module '*.tiff';
扩展
1、如果项目中没有typings文件,可以自己在根文件下创建一个typings文件夹,其内定义各个d.ts文件,设置所需定义数据类型, 然后再在index.d.ts 导入。
indx.d.ts 内容
2、然后在tsconfig.json文件中设置typing为运行文件