所以我正在Laravel 5.3和Vue 2中開發一個網站/ webapp。SEO很重要,所以我想保留Laravel + Blade網站的前端/可爬網部分, Vue 2.0,所以我沒有必要使用Ajax來加載頁面內容,並允許像Google這樣的抓取工具抓取並索引該網站。 (AFAIK,谷歌沒有加載JS,但不會等待Ajax加載,所以它被擊中/未命中)。爲某些路由禁用vue-router?或者如何運行SPA後端和非SPA前端?
但是,在後端,我想完全用Vue和VueRouter進行SPA。
我該如何最好地將兩者分開?
我想我的後端通過/經理
我的解決方法到目前爲止是可訪問:
# routes.php
### Laravel/Frontend routes go here (before SPA) ###
Route::get('/manager/{spaPlage?}', ['middleware' => 'auth', function() {
return view('manager.index');
}])->where(['spaPlage' => '.*'])->name('manager.index');
,然後在Vue公司,我用:
const routes = [
{ path: '/', name: 'dashboard.index', component: require('./pages/manager/Dashboard.vue') },
{ path: '/categories', name: 'categories.index', component: require('./pages/manager/categories/Index.vue') },
{ path: '/category/:id', name: 'category', component: require('./pages/manager/categories/Category.vue') }
];
const router = new VueRouter({
routes,
base: '/manager'
})
const app = new Vue({
el: '#app',
router
...
哪確實有效。但是,感覺沒有。因爲視圖路由器仍然加載在我的前端(追加散列/ hashbang)。
那麼,有沒有更好的方法來將我的Laravel前端與我的Vue SPA後端分開?