Laravel・Vue.jsのRoute::viewに関して
バックエンドがPHPでフレームワークをLaravelを使用しており、フロントでVue.jsを使用している現場に参画しているのですが、SPA(シングル・アプリケーション・アプリ)についていまいち理解できておらず調べた中で学んだRoute::viewでのルーティングに関してまとめてみました。
Laravelではweb.phpにファイルにルーティングとしてRoute::getやRoute::resourceなどの記述をすると思うのですが、
Route::view('/{any}', 'index')->where('any', '.*');
上記のようにコードを記述することで、指定されたURIパターンに対してビューを返すルートを定義しています。/{any}は、どんなURIも受け入れることを意味します。'index'は、ビューの名前を指定しています。つまり、どんなURIにアクセスしても、index.blade.phpという名前のビューファイルが表示されます。
->where('any', '.*'): これは、anyというパラメータが正規表現.*(任意の文字列)に一致するように制約を追加しています。つまり、URIのパラメータanyはどんな文字列でも受け入れるようになります。
このコードの目的は、どのようなURIにも同じビューを表示させることです。これにより、クライアントサイドのルーティングを使用するために、特にSPAの場合に便利です。
LaravelとVue.jsでSPAを作成しようと考えている方の一助となれば幸いです。
この記事が気に入ったらサポートをしてみませんか?