vant icon indicating copy to clipboard operation
vant copied to clipboard

从类型文件中导入某个类型之后,会导致 vue 全局属性识别异常。

Open LLoyou00 opened this issue 1 year ago • 3 comments

重现链接

https://github.com/LLoyou00/bug_report

Vant 版本

4.9.4

描述一下你遇到的问题。

起因是我对 VanField 组件进行二次封装,因为我用的是 ts,所以导入了 FieldRule 用来给 props 进行类型声明,然后我发现所有自定义的 vue 全局属性都提示 does not exist(实际不影响使用),经过排查后,确认是 Vant 导致的,可能我的表述不是很准确,但这个问题很容易复现。

image 以上是正常情况,可以看到可以识别 $router 的类型,如果我把 import VantButton 的语句取消注释,就会报错。 image

重现步骤

新建空白 vue 项目,使用 ts 语法,安装 vue-router 在任意 vue 文件中导入一个 vant 的组件

复现环境 VS Code 1.89.1 Vue - Official 2.0.28

设备/浏览器

No response

LLoyou00 avatar Aug 26 '24 07:08 LLoyou00

image 进一步确认是这个文件导致的

按照 Vue 文档的说明 @vue/runtime-core 应该替换为 vue,直接修改后确实可以解决问题 image

LLoyou00 avatar Aug 26 '24 13:08 LLoyou00

#13067

inottn avatar Aug 26 '24 14:08 inottn

#13067

这个 PR 只改了 lib 目录下的文件,但如果使用自动导入的话,会导入 es 目录下的文件,还是会有这个问题。 image

LLoyou00 avatar Sep 02 '24 03:09 LLoyou00

改的是源码,不过新版本还没发布,等到时候发布了,你再试一下

inottn avatar Sep 02 '24 03:09 inottn

改的是源码,不过新版本还没发布,等到时候发布了,你再试一下

好的,感谢回复。

LLoyou00 avatar Sep 03 '24 00:09 LLoyou00

这周会发个新版本

chenjiahan avatar Sep 03 '24 02:09 chenjiahan