123456789101112131415161718192021222324252627282930 |
- const modules = import.meta.glob('../../view/**/*.vue')
- export const asyncRouterHandle = (asyncRouter) => {
- asyncRouter.map(item => {
- if (item.component) {
- item.component = dynamicImport(modules, item.component)
- console.log(item.component)
- } else {
- delete item['component']
- }
- if (item.children) {
- asyncRouterHandle(item.children)
- }
- })
- }
- function dynamicImport(
- dynamicViewsModules,
- component
- ) {
- const keys = Object.keys(dynamicViewsModules)
- const matchKeys = keys.filter((key) => {
- let k = key.replace('../../view', '')
- const lastIndex = k.lastIndexOf('.')
- k = k.substring(0, lastIndex)
- return k === component
- })
- const matchKey = matchKeys[0]
- return dynamicViewsModules[matchKey]
- }
|