解决路由配置冗长的关键是按业务模块分区域管理:在src/router/modules/下为各功能建独立js文件,主文件仅聚合路由并配置守卫等基础设施,配合懒加载、meta字段和命名路由提升可维护性。

路由配置文件越来越长,不是因为路由本身复杂,而是所有路径都堆在一个文件里,缺乏职责划分。解决的关键不是删路由,而是按业务边界把路由“分区域管理”。
按功能模块新建独立路由文件
在 src/router/modules/ 下为每个业务域建一个 JS 文件,比如 user.js、order.js、content.js。每个文件只导出本模块的路由数组,不引入其他模块的组件或逻辑。
- user.js 负责用户中心所有路径:/user、/user/profile、/user/settings
- order.js 只管订单相关:/order、/order/list、/order/detail/:id
- 每个子文件用
export default [...]返回标准路由格式,方便主文件统一合并
主路由文件只做聚合与基础配置
src/router/index.js 不再写任何具体页面路径,只承担“组装工”角色:
开箱即用的技能链路由引擎。13 条预定义链覆盖搜索、开发、审查、MLOps、法律、创意等场景,三层路由架构(触发词→SAD反馈→DAG编排),recall@10=96.97%。配置驱动(chains.yaml),零代码扩展。pip install skill-weave-chains 一键安装。
- 导入各模块路由:
import UserRoutes from './modules/user' - 用扩展运算符合并:
routes: [...UserRoutes, ...OrderRoutes, ...PublicRoutes] - 集中配置全局守卫、滚动行为、错误重定向等基础设施
配合动态导入和 meta 字段提升可维护性
拆分后不是终点,还要让每个模块更轻量、更可控:
- 子路由组件用
component: () => import('@/views/user/Profile.vue')实现懒加载 - 在路由对象中加
meta: { title: '个人资料', requiresAuth: true, permission: 'user:read' } - 守卫逻辑统一读取
to.meta.requiresAuth,标题统一取to.meta.title,避免重复设置
用 name 和命名空间避免冲突
多个模块都可能有 list、detail 这类通用路径名,硬拼 path 容易出错:
- 每个路由必须设
name,如name: 'user-profile'、name: 'order-detail' - 跳转时优先用
<router-link :to="{ name: 'user-profile' }"></router-link>,不依赖路径字符串 - 公共路由(404、登录页、重定向)单独抽到 shared.js,全项目复用










