You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue3(Vite/Vitesse)项目.vue文件导入自定义类型提示import not found解决方案咨询

问题根因
  1. 你的src/types.ts仅包含TS类型定义,无实际运行时代码,TS转译过程中会擦除所有类型相关代码,最终输出的types.ts产物为空文件
  2. 你在.vue文件中导入ProductData等类型时未使用类型专属导入语法,Vite会将该导入识别为运行时依赖,尝试加载对应的JS值,但空产物文件无对应导出,因此触发报错
  3. store文件为.ts后缀,TS编译器处理.ts文件时会自动识别类型导入并擦除,不会将其视为运行时依赖,因此store中导入不会报错
解决步骤
  • 所有.vue文件中导入TS类型的语句统一改用import type语法:
    原写法:import { ProductData, JsonResponse } from '~/types'
    修正写法:import type { ProductData, JsonResponse } from '~/types'
    如果需要同时导入值和类型,可分开编写或使用TS 4.5+的内联类型导入语法:
    // 分开写法
    import { someUtilFunction } from '~/types'
    import type { ProductData } from '~/types'
    
    // TS 4.5+内联写法
    import { someUtilFunction, type ProductData } from '~/types'
    
  • 确认tsconfig.json中compilerOptions.isolatedModules已开启,你当前配置已经为true,该配置会强制要求明确区分类型导入和值导入,提前规避这类问题
  • 修改导入语法后若仍报错,清除Vite缓存重启项目:执行npx vite --force,或手动删除根目录下的.vite文件夹后重启开发服务
  • 若问题仍存在,检查src/types.ts的导出名称和导入名称的拼写、大小写是否一致

内容的提问来源于stack exchange,提问作者Matthew Weiner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 10:30:05