vue3 报错解决:找不到模块或其相应的类型声明。

本文主要是介绍vue3 报错解决:找不到模块或其相应的类型声明。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

vue3 引入组件报错Cannot find module './components/Person' or its corresponding type declarations.
在这里插入图片描述
检查了路径正确,文件存在,Perosn.vue文件内部没有任何报错。
所以为啥找不到文件啊?

这个报错让我很迷惑。百度了一堆解决方案:

  1. 卸载或禁用 vetur 插件。
    这个插件是vue 2.x 的插件。
    卸载这个插件后,去掉了vs code弹出的提示:In the vue 3 project, The Vue Language Features (Volar) is new recommended ...

  2. 看到有同学提供如下图所示的解决方案,我照着做了,没什么用。我就把这个插件启用了。

  3. 安装TypeScript Vue Plugin (Volar)插件
    这个插件已经弃用,并且推荐安装插件 Vue-Official
    我已经安装了插件Vue-Official。这个解决方案也无效。
    在这里插入图片描述

  4. 我在vs code 设置里将ts校验去掉,就不报红了
    在这里插入图片描述
    在终端执行命令:npm run dev
    事实证明,不报红 绝对不等于 错误不存在!
    在浏览器中显示错误:[plugin:vite:import-analysis] Failed to resolve import "./components/Person"

善用搜索工具,看到这了这两篇:
[plugin:vite:import-analysis] 无法解析导入 #2213
插件:vite:import-analysis - 分析导入时失败,因为内容包含无效的JS语法。- Vue 3

看完并没有找到解决方案…

最终,我查看了client.d.ts文件,在文件中没有声明.vue文件。
env.d.ts文件了加了.vue声明:

declare module '*.vue' {import { ComponentOptions } from 'vue'const componentOptions: ComponentOptionsexport default componentOptions
}

没起作用!!!
迫于无奈,我去翻了vite官网:
在这里插入图片描述
最终解决问题的解决方案:
在项目根目录下创建了shims.d.ts:

declare module '*.vue' {import { ComponentOptions } from 'vue'const componentOptions: ComponentOptionsexport default componentOptions
}

env.d.ts中使用shims.d.ts:

/// <reference types="./shims.d.ts" />
/// <reference types="vite/client" />

问题虽然解决了,但我更加迷茫了。
因为创建vue3项目的时候,在App.vue里,官方给的例子就是通过import引入的vue文件:
在这里插入图片描述
一个全新的vue项目,运行npm run dev可以成功运行,没有任何报错!

这也是我在遇到报错,打从一开始就不认为是ts无法理解.vue的原因。

当我重新创建一个vue3新项目,想从头复盘并记录这个错误时,在新项目的App.vue中引用Person.vue,没有任何报错!

因此,建议各位同学在遇到这个问题的时候,首选解决方案是删除node_module文件夹,重新下载依赖。如果不能解决问题,再试试上面的办法。

这篇关于vue3 报错解决:找不到模块或其相应的类型声明。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1095222

相关文章

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

mysql出现ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决方法

《mysql出现ERROR2003(HY000):Can‘tconnecttoMySQLserveron‘localhost‘(10061)的解决方法》本文主要介绍了mysql出现... 目录前言:第一步:第二步:第三步:总结:前言:当你想通过命令窗口想打开mysql时候发现提http://www.cpp

SpringBoot启动报错的11个高频问题排查与解决终极指南

《SpringBoot启动报错的11个高频问题排查与解决终极指南》这篇文章主要为大家详细介绍了SpringBoot启动报错的11个高频问题的排查与解决,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一... 目录1. 依赖冲突:NoSuchMethodError 的终极解法2. Bean注入失败:No qu

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

springboot报错Invalid bound statement (not found)的解决

《springboot报错Invalidboundstatement(notfound)的解决》本文主要介绍了springboot报错Invalidboundstatement(not... 目录一. 问题描述二.解决问题三. 添加配置项 四.其他的解决方案4.1 Mapper 接口与 XML 文件不匹配

Vue中组件之间传值的六种方式(完整版)

《Vue中组件之间传值的六种方式(完整版)》组件是vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用,针对不同的使用场景,如何选择行之有效的通信方式... 目录前言方法一、props/$emit1.父组件向子组件传值2.子组件向父组件传值(通过事件形式)方

Python使用date模块进行日期处理的终极指南

《Python使用date模块进行日期处理的终极指南》在处理与时间相关的数据时,Python的date模块是开发者最趁手的工具之一,本文将用通俗的语言,结合真实案例,带您掌握date模块的六大核心功能... 目录引言一、date模块的核心功能1.1 日期表示1.2 日期计算1.3 日期比较二、六大常用方法详

css中的 vertical-align与line-height作用详解

《css中的vertical-align与line-height作用详解》:本文主要介绍了CSS中的`vertical-align`和`line-height`属性,包括它们的作用、适用元素、属性值、常见使用场景、常见问题及解决方案,详细内容请阅读本文,希望能对你有所帮助... 目录vertical-ali

Python中ModuleNotFoundError: No module named ‘timm’的错误解决

《Python中ModuleNotFoundError:Nomodulenamed‘timm’的错误解决》本文主要介绍了Python中ModuleNotFoundError:Nomodulen... 目录一、引言二、错误原因分析三、解决办法1.安装timm模块2. 检查python环境3. 解决安装路径问题