Skip to content

feat: improve router type#891

Merged
timi137137 merged 5 commits intoTencent:developfrom
SharerMax:bugfix/route-meta
Sep 30, 2025
Merged

feat: improve router type#891
timi137137 merged 5 commits intoTencent:developfrom
SharerMax:bugfix/route-meta

Conversation

@SharerMax
Copy link
Copy Markdown
Contributor

🤔 这个 PR 的性质是?

  • 日常 bug 修复
  • 新特性提交
  • 文档改进
  • 演示代码改进
  • 组件样式/交互改进
  • CI/CD 改进
  • 重构
  • 代码风格优化
  • 测试用例
  • 分支合并
  • 其他

🔗 相关 Issue

💡 需求背景和解决方案

  1. 使用 vue-router 中的 RouteMeta 类型并扩展,使类型更符合实际情况,提示开发体验
  2. 使用 satisfies 来进一步确保路由的动态模块类型

📝 更新日志

  • feat: 优化路由的类型

  • 本条 PR 不需要纳入 Changelog

☑️ 请求合并前的自查清单

⚠️ 请自检并全部勾选全部选项⚠️

  • 文档已补充或无须补充
  • 代码演示已提供或无须提供
  • TypeScript 定义已补充或无须补充
  • Changelog 已提供或无须提供

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Sep 28, 2025

完成

Copy link
Copy Markdown
Collaborator

@timi137137 timi137137 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

个人来说不推荐直接修改Vue Router 的类型,尤其是通过TS自动覆盖。很多情况下如果一个不小心更新了Vue Router版本就会造成很大的生产事故。建议更换方法

ps: 因为之前有试过更新vue router依赖以后,整个模板库瘫痪的情况

@SharerMax
Copy link
Copy Markdown
Contributor Author

理解你的担忧,但我认为

  1. 并非直接修改 Router 的类型,只扩展了 RouteMeta 使之更加具体,更有约束性
  2. 路由定义上实际上就是用的 RouteMeta 来扩充自定义信息,若脱离 VueRouter 的 RouteMeat 反而会给开发者带来疑惑
  3. 完善路由的类型,就是为了在开发和构建步骤中及时发现问题
  4. 依赖升级若有 Break Change,一般会导致其 type 发生改变,反而更能及时发现问题

@timi137137
Copy link
Copy Markdown
Collaborator

了解,改用Typescript的目的也确实就是为了提前发现可能出现的问题。
辛苦更新一下base branch

@timi137137 timi137137 merged commit b9b0f62 into Tencent:develop Sep 30, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants