Vite 中后台鉴权路由的加载方式
· 阅读需 3 分钟
中后台项目切到 Vite 以后,开发体验会明显变好,但权限路由这块并不会因为构建工具换了就自动变简单。尤其 2021 年很多团队开始同时尝试 Vue3、Vite 和新的后台骨架,路由组织方式很容易先失控。
我更推荐把路由分成“固定入口”和“鉴权后追加”两层,而不是一开始就把所有页面都注册进去。
固定路由先只保留最小集合
像登录页、404、首页壳子这类内容,通常属于未拿到权限前也必须存在的部分。这一层应该尽量少,保证应用启动和跳转逻辑足够稳定。
如果连业务菜单都混在固定路由里,权限校验往往会四处打补丁。
权限路由适合围绕模块拆文件
菜单、文章管理、用户管理、系统设置,这些更适合各自维护一份路由模块。Vite 的模块化导入本来就轻,按模块拆后,谁负责哪个后台域会清楚很多。
这样做还有一个现实好处:后续功能线扩张时,不需要总去改一份越来越长的总路由表。
组件加载可以懒,但权限判断别懒
页面组件用异步加载没有问题,但权限过滤本身最好在拿到用户角色或菜单配置后一次做完。不要把“有没有权限”散落到每个页面组件里再判断一遍,这会让导航守卫、菜单显隐和页面访问三套逻辑互相打架。
后端返回菜单时要收口成前端内部格式
很多后台会把菜单树直接从接口返回给前端。这里最容易犯的错,是把后端结构原样塞进路由系统。更稳的方式是做一层映射,让前端只认自己定义好的字段,比如路径、名称、组件键、权限码。
这样后端即便后续加展示字段,也不会直接影响前端路由。
小结
Vite 让中后台项目启动更快,但真正影响维护性的,还是鉴权路由怎么组织。固定路由保持精简,异步路由按模块拆,权限判断集中做,这套方式在 2021 年已经足够适合多数管理系统。
