Vue3+TS项目新增路由组件后VSCode报TS6307错误,重启后消失
解决Vue3+TypeScript+vue-router新建视图文件后TS报错问题
问题分析
新建*.vue视图文件并添加到路由后,VSCode抛出ts(6307)错误,重启IDE后消失,核心原因是复合TypeScript项目中,tsconfig.vitest.json的文件范围配置与业务文件冲突,VSCode的TS语言服务未自动更新文件列表。
解决方案
方案1:修正tsconfig.vitest.json的文件范围
vitest配置仅需包含测试相关文件,无需覆盖所有业务代码,修改tsconfig.vitest.json:
{ "extends": "./tsconfig.app.json", "include": ["env.d.ts", "src/**/__tests__/*", "src/**/*.spec.ts", "src/**/*.test.ts"], "compilerOptions": { "composite": true, "lib": [], "types": ["node", "jsdom"] } }
这样vitest项目仅关注测试文件,不会将业务视图文件纳入检查范围,避免文件未被列出的报错。
方案2:指定VSCode优先使用业务TS配置
在项目根目录创建.vscode/settings.json,强制TS语言服务和Vue插件使用业务配置文件:
{ "vue.tsconfig": "./tsconfig.app.json", "typescript.tsdk": "node_modules/typescript/lib" }
此配置让VSCode仅用tsconfig.app.json检查业务代码,跳过vitest等其他复合项目的配置冲突。
临时应急方案(无需改配置)
若不想修改配置,可在报错后按Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(Mac),选择TypeScript: Reload Project,手动刷新TS语言服务的文件列表,无需重启VSCode即可消除错误。
内容的提问来源于stack exchange,提问作者joey
相关产品推荐
相关产品推荐

