Search code examples
laravelsingle-page-application

How to add routes in an SPA using Laravel?


I'm building an SPA. In my web.php file I have this:

Route::get('/{any}', function () {
    return view('welcome');
})->where('any', '.*');

Which is great, and I'm using Vue-Router for routing. But I'm trying to add Stripe payments and in a lot of these videos that I've seen or articles that I've read, they often are still working with a few .blade files as well as .vue components.

I want to add a route for a blade file called checkout.blade.php So now I will have this in web.php:

Route::get('/{any}', function () {
    return view('welcome');
})->where('any', '.*');

Route::view('/checkout-now', 'checkout');

The issue is I don't see anything, just a blank white page when I go to this route, I assume it has to do with the first Route, but how do I get around this? How can I see .blade routes in my SPA?


Solution

  • In this case I recommend to keep all your routes before the any route.

    Route::view('/checkout-now', 'checkout');
    .
    .
    
    Route::get('/{any}', function () {
        return view('welcome');
    })->where('any', '.*');    // Must be at the end