请教个问题 const routePath = path.resolve(basePath, item.path)

来源:4-14 业务落地:解析路由表,获取结构化数据

simple8514650

2023-03-03

抱歉看了3遍,看了在下面url的解答还是没懂。https://coding.imooc.com/learn/questiondetail/2vGBE6xbZkVYNkaq.html
首先没懂的是代码里没有涉及第一路由部分是拼接父级路由动态生成子级的路由。
还是没太理解这个const routePath = path.resolve(basePath, item.path)
目前课程只到4.14这节课位置没有涉及后面的课程。目前里面在\src\router\index.js里面无论是公共路由还是私有路由path 是不会有相同且是写死在配置了的。
私有路由 父路由的path也是直接定义好的,children下节点path也是直接定义好,不存在重复。 那不是可以直接用定义好的path了吗?
为啥需要const routePath = path.resolve(basePath, item.path) 这个步骤呢?

写回答

1回答

Sunday

2023-03-03

你好

path.resolve 可以进行路径的拼接呀。 比如说 './basePath' + './name' 拼接,那么 path.resolve 可以自动把多余的 ./ 去除 

0
1
simple8514650
复制一个user的节点 { path: '/user', component: layout, redirect: '/user/manage', meta: { title: 'user', icon: 'personnel' }, children: [ { path: '/user/manage', name: 'userManage', component: () => import('@/views/user-manage/index'), meta: { title: 'userManage', icon: 'personnel-manage' } } ] ] 1. 对于父节点来说 如user const routePath = path.resolve(basePath, item.path) 执行的是basePath 是‘ ’, item.path是 '/user' 运行的结果是 '/user' 2.对于如子节点userManage if (item.children) { route.children.push(...generateMenus(item.children, route.path)) } 执行的是basePath 是'/user', item.path是 '/user/manage' 运行的结果是 '/user/manage' 我的理解是否有问题? 如果没问题 节点route = { ...item, children: [] } 节点的path其实就是路由里已经定义的path 。 为啥上课的代码是需要把节点的path处理 route = { ...item, path: routePath, children: [] }
2023-03-03
共1条回复

基于Vue3新标准,打造后台综合解决方案

基于Vue3重写Vue-element-admin,打造后台前端综合解决方案

1941 学习 · 1687 问题

查看课程