从类型文件中导入某个类型之后,会导致 vue 全局属性识别异常。
重现链接
https://github.com/LLoyou00/bug_report
Vant 版本
4.9.4
描述一下你遇到的问题。
起因是我对 VanField 组件进行二次封装,因为我用的是 ts,所以导入了 FieldRule 用来给 props 进行类型声明,然后我发现所有自定义的 vue 全局属性都提示 does not exist(实际不影响使用),经过排查后,确认是 Vant 导致的,可能我的表述不是很准确,但这个问题很容易复现。
以上是正常情况,可以看到可以识别 $router 的类型,如果我把 import VantButton 的语句取消注释,就会报错。
重现步骤
新建空白 vue 项目,使用 ts 语法,安装 vue-router 在任意 vue 文件中导入一个 vant 的组件
复现环境 VS Code 1.89.1 Vue - Official 2.0.28
设备/浏览器
No response
进一步确认是这个文件导致的
按照 Vue 文档的说明 @vue/runtime-core 应该替换为 vue,直接修改后确实可以解决问题
#13067
#13067
这个 PR 只改了 lib 目录下的文件,但如果使用自动导入的话,会导入 es 目录下的文件,还是会有这个问题。
改的是源码,不过新版本还没发布,等到时候发布了,你再试一下
改的是源码,不过新版本还没发布,等到时候发布了,你再试一下
好的,感谢回复。
这周会发个新版本