Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Czym Inertia radzi sobie z routingiem po stronie klienta inaczej niż tradycyjny Vue.js


Czym Inertia radzi sobie z routingiem po stronie klienta inaczej niż tradycyjny Vue.js


Inertia obsługuje routing po stronie klienta inaczej niż tradycyjne Vue.js na kilka kluczowych sposobów:

1. Renderowanie po stronie serwera:
- Inertia wykorzystuje renderowanie po stronie serwera do renderowania komponentów Vue, co oznacza, że ​​początkowe ładowanie strony jest obsługiwane przez serwer. To podejście poprawia SEO i początkowe prędkości ładowania w porównaniu z tradycyjnym renderowaniem po stronie klienta Vue.js[2] [4].

2. Minimalna propozycja JSON:
- Kiedy serwer otrzymuje żądanie nowej trasy, odsyła minimalną odpowiedź JSON zawierającą nazwę komponentu Vue i wszelkie niezbędne rekwizyty. Takie podejście zmniejsza ilość przesyłanych danych i poprawia wydajność[2] [4].

3. Komponent łącza bezwładnościowego:
- Inertia udostępnia niestandardowy komponent „Link”, który przechwytuje kliknięcia i wyzwala żądania XHR w celu pobrania danych z serwera. Ten komponent zapewnia dynamiczną aktualizację zawartości strony bez konieczności ponownego ładowania całej strony[4].

4. Nie ma potrzeby używania routera Vue:
- Bezwładność eliminuje potrzebę routera Vue, ponieważ wszystkie trasy są definiowane po stronie serwera i obsługiwane przez router Laravel. Upraszcza to proces programowania i zmniejsza złożoność zarządzania wieloma systemami routingu [2] [4].

5. Ujednolicony frontend i backend:
- Inertia bezproblemowo integruje się z Laravelem, umożliwiając programistom używanie tego samego języka szablonów (Vue.js) zarówno dla frontendu, jak i backendu. To ujednolicone podejście upraszcza programowanie i zmniejsza potrzebę dodatkowej konfiguracji[1] [3].

Wykorzystując te różnice, Inertia zapewnia unikalne podejście do routingu po stronie klienta, które łączy w sobie mocne strony Vue.js i Laravel, co skutkuje bardziej wydajnym i skalowalnym procesem rozwoju.

Cytaty:
[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