#javascript #vue.js #babeljs
#javascript #vue.js #babeljs
Вопрос:
Я хочу использовать маршрутизатор динамически. Я установил подключаемый модуль babel-dynamic-import. Я не получаю никаких ошибок, но когда он переключается на страницу, он не может отобразить компонент.
async function loadView(view) {
return () => import(/* webpackChunkName: "view-[request]" */ `@/views/${view}`).then(view => view);
}
function parseSystemTree(item) {
let nav = []
Object.keys(item).forEach(key => {
if (item[key].link !== '') {
let navData = {
path: item[key].link,
name: item[key].name,
meta: {title: item[key].name},
component: loadView(item[key].view.toString()), /* import('@/views/Settings/UserOperations/AddNewUser.vue') */
children: Object.keys(item[key].child).length > 0 ? parseSystemTree(item[key].child) : []
}
nav.push(navData)
}
})
return nav
}
var navigations = []
if (typeof localStorage.getItem('system_tree') !== 'object') {
const systemTree = JSON.parse(localStorage.getItem('system_tree'))
navigations = parseSystemTree(systemTree)
}
const router = new VueRouter({
mode: 'history',
base: process.env.BASE_URL,
// routes
routes: routes.concat(navigations)
})
Комментарии:
1. К вашему сведению,
.then(view => view)
полностью избыточен2. да, я удалил эту часть