1.路由中直接写的菜单
children: [{
path: ‘updatePassword’,
name: ‘修改密码’,
component: () =>
**import ( /webpackChunkName:‘updatePassword’ / ‘@/views/user/updatePassword’),
meta: { title: ‘修改密码’, icon: ‘updatePassword’ }
}
]
方式 /*webpackChunkName:‘菜单名’ */
2.如果是根据数据库动态加载的采用递归方式把菜单加载进路由
// alert(JSON.stringify(item))
const menu = {
path: item.parentID == 0 ? ‘/’+ item.menuUrl.split("/")[1] +’/’ : ((item.menuUrl.split("/")[2]‘faceAnalysis’||item.menuUrl.split("/")[2]‘captureCheckLog’||item.menuUrl.split("/")[2]==‘wifiCollectLog’)?item.menuUrl.split("/")[2]+"/:id":item.menuUrl.split("/")[2]) ,
component: item.parentID == 0 ? Layout : **() => import(/webpackChunkName:"[request]" / @/views${item.menuUrl}
),
// hidden: true,
children: [],
name: item.parentID == 0 ? item.menuUrl.split("/")[1] : item.menuUrl.split("/")[2] ,
meta: { title: item.menuName, id: item.menuID, icon: item.menuIcon, roles: [‘admin’] }
}
if (item.children) {
generaMenu(menu.children, item.children)
}
这块/*webpackChunkName:"[request]" */ @/views i t e m . m e n u U r l ‘ ) , 需 要 用 [ r e q u e s t ] 的 方 式 注 入 , 值 就 是 @ / v i e w s {item.menuUrl}`),需要用[request]的方式注入,值就是 @/views item.menuUrl‘),需要用[request]的方式注入,值就是@/views{item.menuUrl},这样打包后的js文件命名就是以这些菜单名称命名结尾的,便于区分。