vite+vue3+ts项目中提示无法找到模块的问题及解决
vite+vue3+ts项目中提示无法找到模块
在开发过程中碰到了导入模块时提示无法找到模块这个问题,分享一下我的解决思路
首先产生这个错误是:无法找到模块XXX,并且提示'XXX' is declared but its value is never read
产生这个问题的原因是我们使用了ts语法,他只能识别.ts文件,并不能识别.vue文件,所以在引入组件的时候报错了
注意:
这个错误并不影响代码的正常运行,只是在编写代码时,import xxx from 'xxx'会一直飘红,很影响观感
这里提供一种解决方案
1.在项目的根目录下创建一个xxx.d.ts文件,文件名自定义即可,后缀必须是.d.ts
2.在刚刚创建的文件中输入一下代码
declare module '*.vue' {
import { ComponentOptions } from 'vue'
const componentOptions: ComponentOptions
export default componentOptions
}保存代码,并且重启项目,这样令人不悦的红色就会消失啦
vue3+ts报错:Cannot find module‘@/views/xxx.vue‘ or its corresponding type declarations
在Vue的TypeScript项目中,使用const test = () => import('@/views/login')语法动态导入模块时,可能会出现类型声明文件找不到的错误。
这是由于TypeScript无法正确解析动态导入的路径而导致的。
尽管你在项目中没有遇到问题,但TypeScript的类型检查器仍然会发出警告或错误,因为它无法找到相应的类型声明文件。
解决这个问题
你可以在Vue项目的根目录下创建一个env.d.ts(或者其他任何你喜欢的名称)的文件,并在其中添加以下内容:
declare module '*.vue' {
import { DefineComponent } from 'vue';
const component: DefineComponent<{}, {}, any>;
export default component;
}在tsconfig.json 里引入env.d.ts
"include": [
"src/**/*.ts",
"src/**/*.tsx",
"src/**/*.vue",
"tests/**/*.ts",
"tests/**/*.tsx",
"./global.d.ts",
"./env.d.ts"
],重启项目即可~
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Vue2.5 结合 Element UI 之 Table 和 Pagination 组件实现分页功能
这篇文章主要介绍了Vue2.5 结合 Element UI 之 Table 和 Pagination 组件实现分页功能,非常不错,具有参考借鉴价值,需要的朋友可以参考下2018-01-01
vue之elementUi的el-select同时获取value和label的三种方式
这篇文章主要介绍了vue之elementUi的el-select同时获取value和label的三种方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-02-02
Vue.js + Nuxt.js 项目中使用 Vee-validate 表单校验
vee-validate 是为 Vue.js 量身打造的表单校验框架,允许您校验输入的内容并显示对应的错误提示信息。这篇文章给大家带来了Vue.js 使用 Vee-validate 实现表单校验的相关知识,感兴趣的朋友一起看看吧2019-04-04
Vue实现 点击显示再点击隐藏效果(点击页面空白区域也隐藏效果)
这篇文章主要介绍了Vue实现 点击显示 再点击隐藏 点击页面空白区域也隐藏效果,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2020-01-01


最新评论