Typescript导入vue文件爆出找不到模块,解决办法:
vue 2的解决办法,针对vue文件导入报错
创建一个shims.d.ts文件,放置到src/globalDeclare中
declare module '*.vue' {
import Vue from 'vue';
export default Vue;
}
vue 3.0的解决办法,针对vue文件导入报错
vue3.0中使用上述办法,会使createApp与vue类型不符合

导致Vue类型与PublicAPIComponent不符合
因此vue3中的声明方法使用以下办法:
declare module '*.vue' {
import { defineComponent } from 'vue';
const Component: ReturnType<typeof defineComponent>;
export default Component;
}
注意,该模块声明需要单独创建文件声明
在tsconfig.json中添加
{
"compilerOptions": {
"typeRoots": [
"src/globalDeclare"
]
}
}
通过上述办法将不会报错
本文介绍了解决在TypeScript环境中导入Vue组件时遇到的找不到模块错误的方法。对于Vue2,通过创建shims.d.ts文件并声明模块来解决;Vue3则需使用defineComponent进行声明,同时调整tsconfig.json配置。确保类型定义正确,避免类型不匹配问题。
5979

被折叠的 条评论
为什么被折叠?



