问题:
在vscode中创建Vue3+Vite+TS项目后在main.ts中'./App.vue'报红
解决:在根目录下的 vite-env.d.ts 文件中写入如下代码
declare module "*.vue" {
import type { DefineComponent } from "vue";
const vueComponent: DefineComponent<{}, {}, any>;
export default vueComponent;
}
分析:标红原因是在 `.vue` 文件中,通常会存在模板、样式和脚本等不同的部分,但是 TypeScript 默认不知道如何处理.vue文件的代码,因此在导入 `.vue` 文件时会报错。
通过在 `vite-env.d.ts` 文件中声明模块 `*.vue`,并将其定义为一个 Vue 组件类型,就相当于告诉 TypeScript 编译器如何正确处理这些 `.vue` 文件。