Inertia håndterer routing på klientsiden anderledes end traditionelle Vue.js på flere vigtige måder:
1. Gengivelse på serversiden:
- Inertia bruger rendering på serversiden til at gengive Vue-komponenter, hvilket betyder, at den indledende sideindlæsning håndteres af serveren. Denne tilgang forbedrer SEO og indledende indlæsningshastigheder sammenlignet med traditionel Vue.js-gengivelse på klientsiden[2][4].
2. Minimal JSON Prop:
- Når serveren modtager en anmodning om en ny rute, sender den et minimalt JSON-svar tilbage, der indeholder navnet på Vue-komponenten og eventuelle nødvendige rekvisitter. Denne tilgang reducerer mængden af overført data og forbedrer ydeevnen[2][4].
3. Inertia Link-komponent:
- Inertia giver en tilpasset `Link`-komponent, der opsnapper klik og udløser XHR-anmodninger for at hente dataene fra serveren. Denne komponent sikrer, at sideindholdet opdateres dynamisk uden genindlæsning af hele siden[4].
4. Intet behov for Vue Router:
- Inerti eliminerer behovet for Vue Router, da alle ruter er defineret på serversiden og håndteret af Laravels router. Dette forenkler udviklingsprocessen og reducerer kompleksiteten ved at administrere flere routingsystemer[2][4].
5. Unified Frontend og Backend:
- Inertia integreres problemfrit med Laravel, hvilket giver udviklere mulighed for at bruge det samme skabelonsprog (Vue.js) til både frontend og backend. Denne forenede tilgang forenkler udviklingen og reducerer behovet for yderligere konfiguration[1][3].
Ved at udnytte disse forskelle giver Inertia en unik tilgang til routing på klientsiden, der kombinerer styrkerne fra både Vue.js og Laravel, hvilket resulterer i en mere effektiv og skalerbar udviklingsproces.
Citater:[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