import Vue from 'vue' import VueRouter from 'vue-router' import Home from 'vuejs/components/Pages/Home' import Base from 'vuejs/components/Pages/Base' import Blabla from 'vuejs/components/Pages/Blabla' import Article from 'vuejs/components/Pages/Article' import Showrooms from 'vuejs/components/Pages/Showrooms' import Pricing from 'vuejs/components/Pages/Pricing' import Cart from 'vuejs/components/Pages/Cart' Vue.use(VueRouter) // https://www.lullabot.com/articles/decoupled-hard-problems-routing // We could use aliases to never reload the page on language changement // BUT beforeupdate is not triggered when push alias instead of path or name // const languages = ['en', 'fr']; // console.log('path aliases', (() => languages.map(l => `/${l}/base`))() ); let basePath = drupalSettings.path.baseUrl + drupalSettings.path.pathPrefix; const routes = [ { name: 'home', path: basePath, // path: '/', // alias: (() => languages.map(l => `/${l}`))(), component: Home // components: { // 'home': Home // } }, { name:'base', path: `${basePath}base`, // path: `/base`, // alias: (() => languages.map(l => `/${l}/base`))(), component: Base, // components: { // 'base': Base // } }, // { // name:'blabla', // path: `${basePath}blabla`, // component: Blabla, // children: [ // { // path: `${basePath}blabla/:alias`, // component: Article // } // ] // } { name:'blabla', path: `${basePath}blabla`, component: Blabla }, { name:'article', path: `${basePath}blabla/:alias`, component: Article, // meta: { uuid:null } }, { name:'showrooms', path: `${basePath}showrooms`, component: Showrooms, // meta: { uuid:null } }, // { // path: '*', // name: 'notfound', // components: { // 'notfound': NotFound // } // }, { name:'pricing', path: `${basePath}pricing`, component: Pricing }, { name:'cart', path: `${basePath}cart`, component: Cart } ] export default new VueRouter({ mode: 'history', routes: routes })