• js 中引入本地静态资源图片时,使用 import lockIcon from '@assets/imgs/lock.gif 这种写法是没有问题的;
  • Typscript 中是无法识别非代码资源 的,所以会报错 TS2307: cannot find module '.gif'
  • 因此我们需要声明一个 module
  • 新建一个 ts 声明文件,如: images.d.ts ,这样 ts 就可以识别 svg png jpg 等图片类型文件;
  • 项目编译过程中会自动去读取 .d.ts 这种类型的文件,所以不需要我们手动地加载他们;
  • 当然 .d.ts 文件也不能随便在项目中放置,这类文件和 ts 文件一样需要被 Typescript 编译,所以只能放置在 tsconfig.json include 属性所配置的文件夹下,如: src 目录下;
  • images.d.ts 内容如下:
    declare module '*.svg'
    declare module '*.png'
    declare module '*.jpg'
    declare module '*.jpeg'
    declare module '*.gif'
    declare module '*.bmp'
    declare module '*.tiff'
            探花2022
                           
  • 私信