Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
LLoyou00 opened this issue Aug 26, 2024 · 6 comments

Comments

@LLoyou00
Copy link

重现链接

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
Copy link
Author

LLoyou00 commented Aug 26, 2024

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

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

@inottn
Copy link
Collaborator

inottn commented Aug 26, 2024

#13067

@LLoyou00
Copy link
Author

LLoyou00 commented Sep 2, 2024

#13067

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

@inottn
Copy link
Collaborator

inottn commented Sep 2, 2024

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

@LLoyou00
Copy link
Author

LLoyou00 commented Sep 3, 2024

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

好的,感谢回复。

@chenjiahan
Copy link
Member

这周会发个新版本

@LLoyou00 LLoyou00 closed this as completed Sep 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants
@chenjiahan @LLoyou00 @inottn and others