tridcatij
@tridcatij

Как лучше структурировать routes.js (vue-router)?

Добрый день,

Имеется SPA приложение с несколькими десятками совершенно разных страниц. Есть ли какие-то практики как лучше структурировать роуты? Сейчас это выглядит примерно так:

import Vue from 'vue';
import Router from 'vue-router';

import Login from './views/Login.vue'
import NotFound from './views/404.vue'
import Home from './views/Home.vue'
import Dashboard from './views/Dashboard.vue'
// и ещё несколько десятков импортов...

Vue.use(Router)

export const routes = [{
    path: '/',
    component: Home,
    name: '',
    leaf: true,
    iconCls: 'fa fa-desktop',
    meta: {
        'roles': ['admin', 'manager', 'support']
    },
    children: [{
        path: '/',
        component: Dashboard,
        name: 'Dashboard',
        meta: {
            'roles': ['admin', 'manager', 'support']
        }
    }]
}, {
    path: '/',
    component: Home,
    name: '',
    leaf: true,
    iconCls: 'fa fa-phone',
    meta: {
        'roles': ['admin', 'manager', 'support']
    },
    children: [{
        path: '/phone',
        component: Phone,
        name: 'Call tester',
        meta: {
            breadcrumboff: true,
            'roles': ['admin', 'manager', 'support']
        }
    }]
},
// итд..
}];

export const router = new Router({
    routes
});


Как итог, файл выглядит очень массивно за счёт кучи импортов вначале. Как это можно оптимизировать?
  • Вопрос задан
  • 819 просмотров
Решения вопроса 1
kulakoff
@kulakoff Куратор тега Vue.js
Vue.js developing
Как вариант сделать файл index.js в папке views, туда импортировать все компоненты, и далее в файле роутера сделать: import './views'. По желанию файл роутера тоже можно разбить на части и импортировать из разных файлов.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы