私はLaravel 5.3とVue 2のウェブサイト/ Webアプリケーションを開発しています。SEOは重要ですので、Laravel + Bladeにフロントエンド/クロージャブルセクションを保存したいだけです。 Vue 2.0では、Ajaxを使用してページのコンテンツを読み込む必要がなく、Googleなどのクローラがサイトをクロールしてインデックスを作成できるようになりました。 (AFAIK、GoogleはJSをロードしますが、Ajaxがロードされるのを待たずに、ヒット/ミスします)。特定のルートでvue-routerをディセーブルにしますか。またはSPAバックエンドとSPA以外のフロントエンドを実行する方法は?
しかし、バックエンドでは、VueとVueRouterを使用して完全にSPAに移行したいと考えています。
どのようにして2つを分けるのが最適でしょうか?私が使用し、
# 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
...
動作します。ただし、はと感じていません。ビュールータはまだ私のフロントエンドにロードされているので(ハッシュ/ハッシュバングを付加する)。
私のLaravelフロントエンドとVue SPAバックエンドを分ける良い方法はありますか?