vue3.0+ts 找不到模块“./XXX.vue”或其相应的类型声明。

vue3.0+ts 找不到模块“.XXX.vue”或其相应的类型声明。 - 图1

报错原因是:typescript 只能理解 .ts 文件,无法理解 .vue文件

因此需要给.vue文件加上类型说明文件

解决方法:在项目根目录或 src 文件夹下创建一个后缀为 .d.ts 的文件,并写入以下内容:

  1. //env.d.ts
  2. declare module '*.vue' {
  3. import type { DefineComponent } from 'vue'
  4. // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types
  5. const component: DefineComponent<{}, {}, any>
  6. export default component
  7. }