main.ts 报错( Cannot find module './App.vue'.)
原因: typescript 不能识别.vue 文件
解决办法: 引入 vue 的 typescript declare 库
补充
补充:解决 TypeScript 识别不了 .vue 文件,需要在项目中引入 shim / 类型声明,常见做法有两种:
- CLI 2 / Vue 2 + Webpack :在 src/shims-vue.d.ts 中写 declare module '*.vue' { ... },告诉 TS 把 .vue 视为默认导出一个组件的对象。
- Vite / Vue 3 :vite-plugin-vue 已内置处理,无需 shim;只需在 tsconfig.json 中 include 到 .vue 文件并开启 jsx: "preserve"。
// src/shims-vue.d.ts
declare module '*.vue' {
import Vue from 'vue'
export default Vue
}
// tsconfig.json
{
"compilerOptions": {
"moduleResolution": "node",
"types": ["webpack-env"]
},
"include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"]
}
来源整理自:vue3js.cn 面试官系列



