Inertia hanterar routing på klientsidan annorlunda än traditionella Vue.js på flera viktiga sätt:
1. Återgivning på serversidan:
- Inertia använder rendering på serversidan för att rendera Vue-komponenter, vilket innebär att den initiala sidladdningen hanteras av servern. Detta tillvägagångssätt förbättrar SEO och initiala laddningshastigheter jämfört med traditionell Vue.js-rendering på klientsidan[2][4].
2. Minimal JSON Prop:
- När servern tar emot en begäran om en ny rutt skickar den tillbaka ett minimalt JSON-svar som innehåller namnet på Vue-komponenten och eventuella nödvändiga rekvisita. Detta tillvägagångssätt minskar mängden data som överförs och förbättrar prestandan[2][4].
3. Tröghetslänkkomponent:
- Inertia tillhandahåller en anpassad "länk"-komponent som fångar upp klick och utlöser XHR-förfrågningar för att hämta data från servern. Den här komponenten säkerställer att sidinnehållet uppdateras dynamiskt utan att hela sidan laddas om[4].
4. Inget behov av Vue Router:
- Tröghet eliminerar behovet av Vue Router, eftersom alla rutter är definierade på serversidan och hanteras av Laravels router. Detta förenklar utvecklingsprocessen och minskar komplexiteten i att hantera flera routingsystem[2][4].
5. Unified Frontend och Backend:
- Inertia integreras sömlöst med Laravel, vilket gör att utvecklare kan använda samma mallspråk (Vue.js) för både frontend och backend. Detta enhetliga tillvägagångssätt förenklar utvecklingen och minskar behovet av ytterligare konfiguration[1][3].
Genom att utnyttja dessa skillnader ger Inertia en unik metod för routing på klientsidan som kombinerar styrkorna hos både Vue.js och Laravel, vilket resulterar i en mer effektiv och skalbar utvecklingsprocess.
Citat:[1] https://github.com/inertiajs/inertia/issues/905
[2] https://inertiajs.com/routing
[3] https://jetstream.laravel.com/stacks/inertia.html
[4] https://vueschool.io/articles/vuejs-tutorials/the-ultimate-guide-for-using-vue-js-with-laravel/
[5] https://laracasts.com/discuss/channels/vue/inertia-vs-vue-pinia-and-router