vue3+vite+TS错误: 找不到模块“./App.vue”或其相应的类型声明。
创建了 env.d.ts 文件,加入了
declare module "*.vue" {
import type { DefineComponent } from "vue";
const vueComponent: DefineComponent<{}, {}, any>;
export default vueComponent;
}
并且在tsconfig.json文件中配置了
{
"compilerOptions": {
"target": "esnext",
"module": "esnext",
"strict": false,
"jsx": "preserve",
"moduleResolution": "node"
}
}
还是报错,想问一下怎么解决,谢谢!!
先确认是找不到 app.vue 还是 找不到其 类型声明文件。
前者:
App.vue文件没有放在正确的位置。请检查文件路径是否正确。
App.vue文件名大小写问题。请检查文件名是否与代码中引用的文件名大小写一致。
后者:
如果使用了TypeScript,可以通过安装必要的类型声明文件来解决问题。例如,安装@types/vue来获取Vue的类型声明文件。
如果以上方法都无法解决问题,可以尝试重新安装相关的依赖包,或者使用其他编辑器或开发环境来进行开发。
“Devil组”引证GPT后的撰写:
这个错误可能是因为 TypeScript 没有正确解析 Vue 组件的类型定义导致的。以下是一些可能的解决方案:
确保在 tsconfig.json 文件中启用了 resolveJsonModule 选项:
{
"compilerOptions": {
"resolveJsonModule": true
}
}
如果你使用的是 vue-cli 来创建项目,你可以尝试在 tsconfig.json 文件中启用 esModuleInterop 选项:
{
"compilerOptions": {
"esModuleInterop": true
}
}
在你的组件中,尝试使用 import() 来导入组件,如下所示:
import { defineAsyncComponent } from 'vue';
export default defineAsyncComponent(() => import('./App.vue'));
如果上述方法都不起作用,你可以尝试将 App.vue 文件重命名为 App.vue.ts,这样 TypeScript 就可以正确地解析它的类型定义了。
重新安装了依赖包,已经解决了