We can use inertia.js , but sometimes we just need to keep it simple. This also works for React and others.
Folder Structure
# only an example
resources β js β β app.js β β App.vue β β pages β β β Dashboard.vue β β components β β β ui β β layouts β views β app.blade.php
# Flow
Laravel route β controller returns Blade β Blade sets PAGE + PROPS β Vue loads correct page component β component receives props
Enter fullscreen mode
Exit fullscreen mode
Steps
Installation
# laravel laravel new example-app
# vue npm install vue npm install @vitejs/plugin-vue --save-dev
Enter fullscreen mode
Exit fullscreen mode
Vite
# vite . config .β¦