vscode vite+ts 找不到模块“@/views/index.vue”或其相应的类型声明。ts(2307)
在使用vite + ts的进行开发时,在配置好了tsconfig.json和vite.config.ts之后,在vue文件中可以使用@/别名,但是在ts文件中无法使用,会爆错:vite+ts 找不到模块“@/views/index.vue”或其相应的类型声明。但这种做法无异于自欺欺人,饮鸩止渴,这样做之后你会发现vscode其实无法找到vue模块对应的位置,用Ctrl + 鼠标左键无法跳转(只会跳
问题描述
在使用vite + ts的进行开发时,在配置好了tsconfig.json和vite.config.ts之后,在vue文件中可以使用@/别名,但是在ts文件中无法使用,会爆错:vite+ts 找不到模块“@/views/index.vue”或其相应的类型声明。ts(2307)。
不正确的做法
在互联网上,你能看见很多博客、或问答,给你的答案是:在根目录下新增一个vue.d.ts文件来声明vue类型,写如下的代码:
declare module '*.vue' {
import type { DefineComponent } from 'vue'
const component: DefineComponent<{}, {}, any>
export default component
}
但这种做法无异于自欺欺人,饮鸩止渴,这样做之后你会发现vscode其实无法找到vue模块对应的位置,用Ctrl + 鼠标左键无法跳转(只会跳转到vue.d.ts文件),即便你写错了路径,也不会报错。
正确的做法
不仅仅要配置tsconfig.json,还需要配置tsconfig.app.json和tsconfig.node.json,里面都要加上如下配置:
"compilerOptions": {
// ... 其他配置
"baseUrl": ".",
"paths": {
"@/*": ["./src/*"],
},
},
如果还没有解决,可以尝试安装vscode拓展:TypeScript Vue Plugin (Volar)。
修改完成后重启vscode。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)