Updated all routes to be code async loaded, this could enable setting up code splitting per route

This commit is contained in:
2019-06-02 00:26:02 +02:00
parent 9739e0e00a
commit c8dbe02ffc

View File

@@ -1,19 +1,24 @@
import Vue from 'vue'
import VueRouter from 'vue-router'; import VueRouter from 'vue-router';
Vue.use(VueRouter)
let routes = [ let routes = [
{ {
name: 'home', name: 'home',
path: '/', path: '/',
components: { component: (resolve) => require(['./components/Home.vue'], resolve)
'list-router-view': require('./components/Home.vue')
}
}, },
{ {
name: 'home-category', name: 'profile',
path: '/list/:category', path: '/profile',
components: { component: (resolve) => require(['./components/Profile.vue'], resolve)
'list-router-view': require('./components/MoviesList.vue') },
} {
name: 'list',
path: '/list/:name',
component: (resolve) => require(['./components/MoviesList.vue'], resolve)
}, },
{ {
name: 'request', name: 'request',
@@ -24,66 +29,18 @@ let routes = [
}, },
{ {
name: 'search', name: 'search',
path: '/search/:query', path: '/search',
components: { component: (resolve) => require(['./components/MoviesList.vue'], resolve)
'search-router-view': require('./components/MoviesList.vue')
}
},
{
name: 'user-requests',
path: '/profile/requests',
components: {
'user-requests-router-view': require('./components/MoviesList.vue')
}
},
{
name: 'movie',
path: '/movie/:id',
components: {
'page-router-view': require('./components/MoviePage.vue')
},
beforeEnter: (to, from, next) => {
if(history.state && history.state.popup && from.name){
eventHub.$emit('openMoviePopup', to.params.id, 'movie', false);
return;
}
next();
}
},
{
name: 'show',
path: '/show/:id',
components: {
'page-router-view': require('./components/MoviePage.vue')
},
beforeEnter: (to, from, next) => {
if(history.state && history.state.popup && from.name){
eventHub.$emit('openMoviePopup', to.params.id, 'show', false);
return;
}
next();
}
}, },
{ {
name: 'register', name: 'register',
path: '/register', path: '/register',
components: { component: (resolve) => require(['./components/Register.vue'], resolve)
'search-router-view': require('./components/Register.vue')
}
}, },
{ {
name: 'signin', name: 'signin',
path: '/signin', path: '/signin',
components: { component: (resolve) => require(['./components/Signin.vue'], resolve)
'search-router-view': require('./components/Signin.vue')
}
},
{
name: 'profile',
path: '/profile',
components: {
'search-router-view': require('./components/Profile.vue')
}
}, },
{ {
name: 'settings', name: 'settings',
@@ -92,12 +49,17 @@ let routes = [
'search-router-view': require('./components/Settings.vue') 'search-router-view': require('./components/Settings.vue')
} }
}, },
// {
// name: 'user-requests',
// path: '/profile/requests',
// components: {
// 'user-requests-router-view': require('./components/MoviesList.vue')
// }
// },
{ {
name: '404', name: '404',
path: '/404', path: '/404',
components: { component: (resolve) => require(['./components/404.vue'], resolve)
'page-router-view': require('./components/404.vue')
}
}, },
{ {
path: '*', path: '*',
@@ -110,7 +72,7 @@ let routes = [
]; ];
const router = new VueRouter({ const router = new VueRouter({
// mode: 'history', mode: 'hash',
base: '/', base: '/',
routes, routes,
linkActiveClass: 'is-active' linkActiveClass: 'is-active'