import Layout from '@/layout' export default function filterAsyncRouter (routers) { routers.forEach(item => { if (!item.children) { delete item.children delete item.redirect } if (!item.parentId) { item.component = Layout } else { item.component = loadView(item.uri) } item.meta.icon = item.icon if (item.children) { item.children = filterAsyncRouter(item.children) } }) return routers } function loadView (view) { return r => require.ensure([], () => r(require(`@/views${view}.vue`))) }