Vue3解决“找不到模块“@/components/xxx.vue”或其相应的类型声明”

文章目录

    • 前言
    • 背景
    • 问题描述
    • 解决方案
    • 总结

前言

在使用 Vue 3 开发项目时,遇到“找不到模块 ‘@/components/xxx.vue’ 或其相应的类型声明”的错误是一个常见问题。这通常与 TypeScript 和模块解析相关的配置不当有关。本文将详细介绍如何解决此问题,确保你的项目能够正确识别和导入 Vue 组件。

背景

在 Vue 项目中,@ 符号通常用作别名,指向项目的根目录(一般是 src 目录)。这使得模块导入路径更简洁和直观。然而,当使用 TypeScript 时,除了配置 Webpack 或 Vite 以支持别名外,还需要在 TypeScript 配置文件中同步更新别名设置,否则 TypeScript 编译器无法解析这些路径,导致无法找到模块或其相应的类型声明。

问题描述

先上问题截图。
在这里插入图片描述出现这个问题如何解决。这个项目是通过Vite创建的Vue3项目。编辑器使用的是VS Code。

不仅仅代码显示报错,并且编译也报错。

在这里插入图片描述

解决方案

1、安装依赖(主要用于解决 Node.js 环境相关的类型定义问题)

npm i @types/node -D

2、在 vite.config.ts 文件中配置别名:

defineConfig配置项里面增加下面配置:

   resolve:{alias:{"@":path.resolve(__dirname,'./src')}}

完整的配置如下:

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'path'// https://vitejs.dev/config/
export default defineConfig({plugins: [vue()],resolve:{alias:{"@":path.resolve(__dirname,'./src')}}
})

添加后效果如下:
在这里插入图片描述
3、在 tsconfig.json 文件中配置路径映射:
compilerOptions里面增加以下配置

    "baseUrl": ".","paths": {"@/*": ["./src/*"] }

效果图如下:
在这里插入图片描述

4、重启编辑器VS Code
重启后找不到模块这个问题就解决了。完成以上配置后,你可以使用 @ 别名来导入 Vue 组件,而不会遇到模块解析错误。
在这里插入图片描述

总结

通过正确配置 Webpack/Vite 和 TypeScript,确保 @ 别名在项目中正确解析,你可以避免“找不到模块 ‘@/components/xxx.vue’ 或其相应的类型声明”的错误。以上步骤提供了详细的解决方案,帮助你顺利开发 Vue 3 应用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/16210.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024-6-遥远的救世主

2024-6-遥远的救世主 2024-4-18 豆豆 fatux: 2021.5.26 看完电视剧《天道》之后购买本书,断断续续一直没有读完。 非常好奇,一个什么样的作者能写出如此奇书。老丁,一个智者,智者是多么孤独,因为找不到同…

信息安全等级保护测评: 登陆日志

文章目录 引言I 登录日志表结构设计II 日志处理2.1 封装日志入库2.2 收集登陆信息2.3 查询接口引言 等保测评是信息安全等级保护测评的简称,是对信息和信息载体按照重要性等级分级别进行检测、评估的过程。 背景:近期AIS监控平台(网页版)等保测评,发现没有登陆日志,现要…

从用法到源码再到应用场景:全方位了解CompletableFuture及其线程池

文章目录 文章导图什么是CompletableFutureCompletableFuture用法总结API总结 为什么使用CompletableFuture场景总结 CompletableFuture默认线程池解析:ForkJoinPool or ThreadPerTaskExecutor?ForkJoinPool 线程池ThreadPerTaskExecutor线程池Completab…

Qt 界面上字体自适应控件大小 - 随控件缩放

Qt 界面上字体自适应控件大小 - 随控件缩放 引言一、设计思路二、进阶版大致思路三、参考链接 引言 Qt控件自适应字体大小可以用adjustSize()函数,但字体自适应控件大小并没有现成的函数可调. - 本文实现了按钮上的字体随按钮大小变化而变化 (如上图所示) - 其他控件…

Spring MVC+mybatis 项目入门:旅游网(三)用户注册——控制反转以及Hibernate Validator数据验证

个人博客:Spring MVCmybatis 项目入门:旅游网(三)用户注册 | iwtss blog 先看这个! 这是18年的文章,回收站里恢复的,现阶段看基本是没有参考意义的,技术老旧脱离时代(2024年辣铁铁&…

澳大利亚.德国-门户媒体投放通稿:需要注意什么地方

概述 在现代社会,新闻媒体的投放成为企业和组织宣传推广的重要手段之一。澳大利亚和德国作为全球重要的经济和科技中心,其新闻媒体也备受关注。本文将介绍澳大利亚和德国的一些主要新闻媒体,并讨论发表新闻稿时需要注意的地方。 澳大利亚媒…

streamlit 学习

表情网站 https://getemoji.com/ 官网: https://streamlit.io/ 文档 https://docs.streamlit.io/develop/api-reference/chat/st.chat_message 安装: pip install streamlit启动 以下的python 文件指写streamlit 程序的脚步。 1、先切换目录到Pyth…

VMware虚拟机-设置系统网络IP、快照、克隆

1.设置网络IP 1.点击右上角开关按钮-》有线 已连接-》有线设置 2.手动修改ip 3.重启或者把开关重新关闭开启 2.快照设置 快照介绍: 通过快照可快速保存虚拟机当前的状态,后续可以使用虚拟机还原到某个快照的状态。 1.添加快照(需要先关闭虚拟机) 2.在…

[JAVASE] 类和对象(六) -- 接口(续篇)

目录 一. Comparable接口 与 compareTo方法 1.1 Comparable接口 1.2 compareTo方法的重写 1.2.1 根据年龄进行比较 1.2.2 根据姓名进行比较 1.4 compareTo 方法 的使用 1.3 compareTo方法的缺点(重点) 二. Comparator接口 与 compare方法 2.1 Comparator接口 2.2 compare 方法…

蓝桥杯算法心得——李白打酒(加强版)

大家好,我是晴天学长,记忆化搜索,找到技巧非常重要,需要的小伙伴可以关注支持一下哦!后续会继续更新的。💪💪💪 2) .算法思路 1.memo三维表示记录的结果 3).算法步骤 1…

slint esp32 tokio

源码:https://github.com/xiaguangbo/slint_esp32_tokio cpu 是 esp32c2,屏幕是 ili9341,触摸是 xpt2046,使用 spi 半双工 不使用DMA(esp-rs还没支持),SPI 40M,240*320全屏刷新为1.5…

四. TensorRT模型部署优化-模型部署的基础知识

目录 前言0. 简介1. FLOPS2. TOPS3. HPC的排行,CPU/GPU比较4. FLOPs5. FLOPS是如何计算的6. CUDA Core vs Tensor Core总结参考 前言 自动驾驶之心推出的 《CUDA与TensorRT部署实战课程》,链接。记录下个人学习笔记,仅供自己参考 本次课程我们…

最小二乘法-超详细推导(转换为矩阵乘法推导,矩阵求导推导)

最小二乘法就是让均方误差最小。 下面是损失函数转换为矩阵方式的详解 如何让其最小,在导数为0的地方取极小值。 问:导数为0的地方可能去极大值,也可能是极小值,凭什么说导数为0就是极小值? 答:因为使用…

酷黑简洁大气体育直播自适应模板赛事直播门户网站源码

源码名称:酷黑简洁大气体育直播自适应模板赛事直播门户网站源码 开发环境:帝国cms 7.5 安装环境:phpmysql 支持PC与手机端同步生成html(多端同步生成插件) 带软件采集,可以挂着自动采集发布,无…

某某某加固系统分析

某某某加固系统内核so dump和修复: 某某某加固系统采取了内外两层native代码模式,外层主要为了保护内层核心代码,从分析来看外层模块主要用来反调试,释放内层模块,维护内存模块的某些运行环境达到防止分离内外模块&am…

网上比较受认可的赚钱软件有哪些?众多兼职选择中总有一个适合你

在这个互联网高速发展的时代,网上赚钱似乎成了一种潮流。但是,你是否还在靠运气寻找赚钱的机会?是否还在为找不到靠谱的兼职平台而苦恼? 今天,就为你揭秘那些真正靠谱的网上赚钱平台,让你的赚钱之路不再迷…

Python--List列表

list列表⭐⭐ 1高级数据类型 Python中的数据类型可以分为:数字型(基本数据类型)和非数字型(高级数据类型) ●数字型包含:整型int、浮点型float、布尔型bool、复数型complex ●非数字型包含:字符…

整合SSM框架笔记

整合SSM框架笔记 Spring5 Spring MVC MyBatis Druid MySQL Thymeleaf 感谢尚硅谷课程:B站课程 前言 单Spring框架时,是Java工程。 Spring与Spring MVC可以共用一个配置文件,也可以不共用一个,推荐不共用一个。 Spring与Sp…

Quartus 联合 ModelSim 仿真 IP 核(RAM)

文章目录 ModelSim 路径设置创建 RAM进行仿真 本文主要介绍如何在包含 IP 核的 Quartus 项目中使用 Modelsim 进行仿真,本文基于 IP 核 RAM: 2-PORT,其他 IP 核类似。 ModelSim 路径设置 点击 Tools->Options 点击 EDA Tool Options,设置…

string OJ题

下面分享一下string做题心得 1. 明白字符串中存储的数字为0 8 9与0 8 9 完全不同,字符0其实在串中存储的是48,要有意识的转化。字符串中如果存数字8,意味着存了BS(退格) 例如1: 算出结果为5,存…