-
-
Notifications
You must be signed in to change notification settings - Fork 8.8k
Open
Description
Vue version
3.4.21
Link to minimal reproduction
Steps to reproduce
- 定位到 components/types.ts 文件
- 打开控制台并清除所有日志
- 修改 components/types.ts 中的代码(例如移除 Props 中的 a)
- 保存
- 热更新失败,控制台打印错误信息
- 定位到 components/HelloWorld.vue 文件,随意修改代码保存,热更新成功
该问题只出现在 lang="tsx" 的情况,在保存代码进行热更新时抛出错误。
What is expected?
热更新不会抛出错误
What is actually happening?
热更新抛出错误
System Info
No response
Any additional comments?
No response
Metadata
Metadata
Assignees
Type
Projects
Milestone
Relationships
Development
Select code repository
Activity
haoqunjiang commentedon Apr 11, 2024
Workaround:
const props = defineProps<Props,>()
https://stackoverflow.com/a/32697733/2302258
热更新出错是合理的,不过可能需要看一下为什么初次加载时没出错。
guaijie commentedon Apr 12, 2024
你给的链接中的情况和这里的情况并不一样,链接中提到的是在 tsx 中定义一个泛型时出现报错的原因和解决方法。

这里定义了一个泛型 T1.
但是在使用时是不会报错的:
这是我在自己项目中随意定义的一个函数后调用该函数,并没有任何问题
所以这里热更新失败本身就有问题
haoqunjiang commentedon Apr 12, 2024
不好意思,是我看错了。我再仔细研究一下。
guaijie commentedon Apr 12, 2024
还有一个问题,setup tsx 的方式封装组件,热更新会很慢(控制台没有输出热更新,或者很久才会输出热更新成功)。需要手动刷新浏览器,且重新加载的过程十分缓慢(就好像是所有缓存被清理,需要重新加载所有依赖的并缓存一样),大多需要重新启动项目才能正常使用

JiangBei007 commentedon Oct 16, 2024
遇到同款bug