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

Vite4+TS+Rollup开发UI组件打包遇TS2307错误求助

错误原因分析

1. Vue单文件组件类型声明未被正确识别

TypeScript原生不支持解析.vue文件,必须通过类型声明文件定义其类型规则。即使项目中存在sfc.d.ts,仍可能出现以下问题:

  • sfc.d.ts内容不符合规范,正确的声明模板应为:
    declare module '*.vue' {
      import type { DefineComponent } from 'vue'
      const component: DefineComponent<{}, {}, any>
      export default component
    }
    
  • 该声明文件未被Rollup打包流程中的TypeScript配置纳入解析范围。

2. Rollup插件配置与顺序问题

  • 使用的rollup-plugin-typescript2在tsconfigOverride中仅指定了declaration: true和exclude规则,未继承原tsconfig.app.json中包含.vue文件的include配置,导致TypeScript编译时无法识别.vue模块。
  • 虽然插件顺序(nodeResolve() → vue() → typescript(...))本身合理,但rollup-plugin-typescript2可能在vue()插件完成.vue文件转换前就开始解析TS代码,导致无法找到.vue文件的类型声明。

3. TypeScript复合项目配置的影响

TS配置启用了复合项目模式(composite: true),但rollup-plugin-typescript2未能正确合并所有引用的tsconfig配置(比如tsconfig.app.json中包含.vue文件的规则),导致类型解析链断裂。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 12:19:53