Inertia håndterer ruting på klientsiden annerledes enn tradisjonelle Vue.js på flere viktige måter:
1. Gengivelse på serversiden:
- Inertia bruker gjengivelse på serversiden for å gjengi Vue-komponenter, noe som betyr at den første sideinnlastingen håndteres av serveren. Denne tilnærmingen forbedrer SEO og innledende lastehastigheter sammenlignet med tradisjonell Vue.js-gjengivelse på klientsiden[2][4].
2. Minimal JSON Prop:
- Når serveren mottar en forespørsel om en ny rute, sender den tilbake et minimalt JSON-svar som inneholder navnet på Vue-komponenten og eventuelle nødvendige rekvisitter. Denne tilnærmingen reduserer mengden data som overføres og forbedrer ytelsen[2][4].
3. Treghetskoblingskomponent:
- Inertia gir en tilpasset `Link`-komponent som fanger opp klikk og utløser XHR-forespørsler for å hente dataene fra serveren. Denne komponenten sørger for at sideinnholdet oppdateres dynamisk uten å laste hele siden på nytt[4].
4. Ingen behov for Vue-ruter:
- Treghet eliminerer behovet for Vue Router, da alle ruter er definert på serversiden og håndteres av Laravels ruter. Dette forenkler utviklingsprosessen og reduserer kompleksiteten ved å administrere flere rutingsystemer[2][4].
5. Unified Frontend og Backend:
- Inertia integreres sømløst med Laravel, slik at utviklere kan bruke samme malspråk (Vue.js) for både frontend og backend. Denne enhetlige tilnærmingen forenkler utviklingen og reduserer behovet for ytterligere konfigurasjon[1][3].
Ved å utnytte disse forskjellene gir Inertia en unik tilnærming til ruting på klientsiden som kombinerer styrken til både Vue.js og Laravel, noe som resulterer i en mer effektiv og skalerbar utviklingsprosess.
Sitater:[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