Carmineprince's Blog
首页
    • HTML
    • CSS
    • JavaScript
    • Vue
    • React
    • TypeScript
    • Node
    • Flutter
    • Electron
    • Python
    • 运维
    • 重学前端
  • 分类
  • 标签
  • 归档

Ziqi Wang

胡思乱想程序员
首页
    • HTML
    • CSS
    • JavaScript
    • Vue
    • React
    • TypeScript
    • Node
    • Flutter
    • Electron
    • Python
    • 运维
    • 重学前端
  • 分类
  • 标签
  • 归档
  • ts学习记录1--类型
  • Cannot find module
  • 使用动态变量ts报错的解决
  • TypeScript相关
carmineprince
2022-02-09

Cannot find module

# 找不到模块“@/assets/home/cosmoplat.png”或其相应的类型声明。ts(2307)

最近在使用TypeScript写vue3.x项目中遇到了这个错误提示,记录下问题原因及解决方案

原因: 如果在js中引入本地静态资源图片时使用import img from '@/assets/home/cosmoplat.png'这种写法是没有问题的,但是在typscript中是无法识别非代码资源的,所以会报错TS2307: cannot find module '.png'。

解决: 主动的去声明这个module。新建一个ts声明文件如:images.d.ts(如下)就可以了。这样ts就可以识别svg、png、jpg等等图片类型文件。项目编译过程中会自动去读取.d.ts这种类型的文件,所以不需要我们手动地加载他们。

declare module '*.svg'
declare module '*.png'
declare module '*.jpg'
declare module '*.jpeg'
declare module '*.gif'
declare module '*.bmp'
declare module '*.tiff'
1
2
3
4
5
6
7

注意: 当然.d.ts文件也不能随便放置在项目中,这类文件和ts文件一样需要被typescript编译,所以一样只能放置在tsconfig.json中include属性所配置的文件夹下。

#TypeScript
上次更新: 2/9/2022, 5:34:57 PM
ts学习记录1--类型
使用动态变量ts报错的解决

← ts学习记录1--类型 使用动态变量ts报错的解决→

最近更新
01
pc端rem配置
03-02
02
使用动态变量ts报错的解决
02-25
03
React Hook详解
02-18
更多文章>
Theme by Vdoing | Copyright © 2021-2022 Carmineprince | 鲁ICP备2021046263号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式