组件 A.vue
// 从组件 A.vue 暴露出一个 interface
export interface AProps {
name: string;
}
组件 B.vue
// 从组件 A.vue 引入这个 interface 并在 extends 后将这个 interface 作为组件的 props
import { AProps } from "./A.vue";
interface BProps extends AProps {
age: number;
}
const props = defineProps<BProps>();
就这样引发了报错,在将 @dcloudio
的依赖版本回退到 3.0.0-3080720230703001
的时候可以成功运行,可升级到 3.0.0-4050720250324001
(最新版)后无法运行,其他依赖、代码、均无变化。
经测试这个bug是从 3.0.0-4000620240325001
版本开始出现的。 3.0.0-3090920231225001
版本仍支持此语法
l***@outlook.com (作者)
不是这样的,在 git clone https://gitee.com/ljb2458/jun-uni.git 中使用了该写法,并没有报错,在仅升级 @dcloudio 依赖至 3.0.0-4000620240325001 之后的版本开始的报错,因此 3.0.0-4000620240325001 之后的版本可能有什么改动使这种原本受支持的版本失效了。
2025-04-14 15:27
DCloud_UNI_FengXY
回复 l***@outlook.com: dcloudio内部依赖vue,会不定时升级vue版本,这个警告就是升级了vue编译器报的,
信息里边已经告诉了是[@vue/compiler-sfc] 这个插件告警的。
https://github.com/vuejs/core/blob/main/packages/compiler-sfc/src/script/resolveType.ts#L436
2025-04-17 13:14