模块化路由配置需按业务域拆分文件并统一组装:如auth、dashboard、settings等独立目录,各导出路由数组;主入口显式导入或require.context聚合,建议按meta.order排序;vite项目推荐vite-plugin-pages自动映射pages结构为路由,并支持动态参数与meta扩展。

构建可模块化的路由配置,核心是把“一个大文件”拆成“多个按业务归类的小文件”,再统一组装。这样既避免单文件臃肿,又方便团队分工和后期维护。
按业务域拆分路由文件
不要把所有路由都堆在 router/index.ts 里。比如用户管理、订单中心、系统设置这些功能,各自建一个路由模块:
- src/routes/auth/:放登录、注册、密码重置等认证相关路由
- src/routes/dashboard/:放首页、数据概览、图表页等仪表盘路由
- src/routes/settings/:放账号设置、通知偏好、权限配置等路由
每个目录下导出自己的路由数组,例如 src/routes/auth/index.ts:
开箱即用的技能链路由引擎。13 条预定义链覆盖搜索、开发、审查、MLOps、法律、创意等场景,三层路由架构(触发词→SAD反馈→DAG编排),recall@10=96.97%。配置驱动(chains.yaml),零代码扩展。pip install skill-weave-chains 一键安装。
统一汇总与自动加载
在主路由入口(如 router/index.ts)中,用 require.context 或显式导入方式聚合所有模块:
- 显式导入更可控:逐个引入各模块,顺序清晰,适合中大型项目
- require.context 可自动扫描子目录,适合模块数量多且命名规范的场景(注意类型提示需额外处理)
- 最终合并时建议按 meta.order 或路径层级排序,保证导航菜单或侧边栏顺序一致
配合工具提升自动化程度
对基于 Vite 的项目,推荐直接使用 vite-plugin-pages:
- 它把 src/pages/ 下的文件结构自动转为路由,比如 src/pages/admin/index.vue 对应 /admin
- 支持 [id].vue 自动识别动态参数,[...all].vue 处理 404 或嵌套路由兜底
- 搭配 meta 字段(如
meta: { title: '管理员列表', auth: true }),能自然承载权限、SEO、面包屑等扩展信息
预留扩展点支撑进阶需求
模块化不只是“拆文件”,更要为后续能力留接口:
- 每个路由模块可自带守卫逻辑,例如 auth/guards.ts 导出
beforeEnter函数 - 用 lazyRoute 工具函数统一封装异步组件加载 + 错误边界,避免重复写
() => import(...) - 权限字段(如
meta.roles: ['admin'])集中到路由定义中,便于后续与权限系统联动










