I am creating an application of vue.js that actually a series of small applications. My goal is to isolate them from each other. My main obstacle at the moment are the routes.
At this moment I have a single file of routes, which looks something like this:
export default new Router({
routes: [
{path: '/', name: 'portadaIndex', component: portadaIndex},
// Rechazos
{path: '/rechazos', name: 'rechazosIndex', component: rechazosIndex},
{path: '/rechazos/conjuntos/', component: conjuntoIndex, name: 'conjuntoIndex'},
{path: '/rechazos/conjuntos/:id', component: conjuntoDetail, name: 'conjuntoDetail'},
// Login
{path: '/login', name: 'Login', component: Login}
]
})
My intention is that each application has its own router , for example:
import Vue from 'vue'
import Router from 'vue-router'
import rechazosIndex from './rechazos.index'
import conjuntoIndex from './conjuntos.index'
import conjuntoDetail from './conjuntos.detail'
Vue.use(Router)
const rechazosRouter = new Router({
routes: [
// Rechazos
{path: '/rechazos', name: 'rechazosIndex', component: rechazosIndex},
{path: '/rechazos/conjuntos/', component: conjuntoIndex, name: 'conjuntoIndex'},
{path: '/rechazos/conjuntos/:id', component: conjuntoDetail, name: 'conjuntoDetail'}
]
})
export default rechazosRouter
Then I want to import it and add it in some way to the main router. My hope is that something like this will work, but no.
import Vue from 'vue'
import Router from 'vue-router'
import portadaIndex from '../components/portada.index'
import Login from '../components/login/Login'
import rechazosRouter from '../components/rechazos/rechazos.router'
Vue.use(Router)
export default new Router({
routes: [
{path: '/', name: 'portadaIndex', component: portadaIndex},
// Login
{path: '/login', name: 'Login', component: Login}
] + rechazosRouter.routes
})
Here I get an error that says:
Uncaught TypeError: routes.forEach is not a function
I also tried to add it in of Router.routes
but it did not work either.
Uncaught TypeError: Cannot read property 'path' of undefined
Question
Is it possible to join rechazosRouter.routes
with the router by default? If so, how can I join them?