Ну, насколько я понимаю, ваш подход был хорош.Вы перехватываете все запросы GET и передаете их в представление Blade.
Мое предложение:
- Более чистый маршрут:
Route::get('/{any}', 'YourController@index')->where('any', '.*');
Ваше приложение.js (основной файл JS должен выглядеть примерно так):
import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)
import App from './views/App'
import About from './views/About'
import Home from './views/Home'
const router = new VueRouter({
mode: 'history',
routes: [
{
path: '/',
name: 'home',
component: Home
},
{
path: '/about',
name: 'about',
component: About,
},
],
});
const app = new Vue({
el: '#app',
components: { App },
router,
});
Со всей этой конфигурацией и вашим router-view
у вас все будет хорошо.