Dateien fetchen in Nuxt.js

Profil

geschrieben von Ejder-Deniz Ceri

veröffentlicht am 23. Februar 2023

Header-Image

In diesem Beitrag haben wir vor uns, wie letzte Woche im Logbuch versprochen, die Nuxt.js Datafetching methoden fetch und asyncData genau anzusehen. Es ist zu erwähnen, dass es sich hierbei um Methoden aus der Version 2.15 handelt. In frühere Versionen funktionieren diese Methoden anders. Seit Version 3.x wurde es komplett überarbeitet.

Zuerst sollten wir jedoch klären, was Nuxt.js ist.

Nuxt.js ist ein serverseitiges Web-Framework, das auf der JavaScript-Laufzeitumgebung Node.js aufbaut. Es basiert auf dem beliebten Vue.js-Framework und erweitert es um Funktionen und Konventionen, die die Entwicklung von Single-Page-Applications (SPAs) und serverseitig gerenderten Webanwendungen erleichtern.
Das Ziel von Nuxt.js ist es, die Entwicklung von Webanwendungen zu vereinfachen, indem es eine strukturierte und standardisierte Art und Weise bietet, Komponenten zu organisieren, Routing und Navigation zu handhaben sowie den Server- und Client-Code zu verwalten. Es ermöglicht es Entwicklern, schnell und einfach serverseitig gerenderte Webanwendungen zu erstellen, die sowohl SEO- als auch Performance-Vorteile bieten.
Nuxt.js bietet eine Vielzahl von Funktionen, die die Entwicklung von Webanwendungen erleichtern. Dazu gehören:
Serverseitiges Rendern: Nuxt.js ermöglicht es Entwicklern, Webanwendungen serverseitig zu rendern, was sowohl die Performance als auch die SEO verbessert.
Code-Organisation: Nuxt.js bietet eine strukturierte Art und Weise, um Komponenten, Seiten, Layouts und andere Funktionen zu organisieren.
Routing: Nuxt.js vereinfacht das Routing innerhalb einer Webanwendung, indem es automatisch URLs generiert, basierend auf der Dateistruktur.
Hot Module Replacement: Nuxt.js unterstützt Hot Module Replacement, was die Entwicklungszeit verkürzt und es ermöglicht, Änderungen in Echtzeit zu sehen.
Vuex Store: Nuxt.js bietet eine integrierte Unterstützung für den Vuex Store, der es Entwicklern ermöglicht, zentralisierte Daten in der Anwendung zu verwalten.
Insgesamt bietet Nuxt.js eine strukturierte und standardisierte Art und Weise, um Webanwendungen zu entwickeln, die sowohl auf dem Server als auch auf dem Client ausgeführt werden können. Es ist eine großartige Option für Entwickler, die schnell und einfach serverseitig gerenderte Webanwendungen erstellen möchten, die SEO- und Performance-Vorteile bieten.

Daten fetchen in Nuxt.js 2.15
In Nuxt.js gibt es zwei Möglichkeiten, Daten vor dem Rendern einer Seite abzurufen: die fetch-Methode und die asyncData-Methode.
Die fetch-Methode ist eine asynchrone Methode, die sowohl auf dem Server als auch auf dem Client ausgeführt wird. Sie wird immer dann aufgerufen, wenn die Komponente initialisiert wird, unabhängig davon, ob die Seite über eine URL aufgerufen wird oder über einen Link innerhalb der Anwendung navigiert wird. Die fetch-Methode wird normalerweise verwendet, um Daten aus einer API oder einem Server abzurufen und dann der Komponente als Eigenschaften zur Verfügung zu stellen.
Die asyncData-Methode ist ebenfalls eine asynchrone Methode, die auf dem Server ausgeführt wird, bevor die Seite gerendert wird. Im Gegensatz zur fetch-Methode wird die asyncData-Methode jedoch nur aufgerufen, wenn die Seite über eine URL aufgerufen wird. Sie wird also nicht aufgerufen, wenn ein Benutzer innerhalb der Anwendung navigiert. Die asyncData-Methode wird verwendet, um Daten aus einer API oder einem Server abzurufen und sie dann der Komponente als Eigenschaften zur Verfügung zu stellen. Im Gegensatz zur fetch-Methode wird das Ergebnis der asyncData-Methode direkt der Komponente zugewiesen, ohne dass es als Eigenschaften bereitgestellt werden muss.
Zusammenfassend lässt sich sagen, dass die fetch-Methode auf beiden Seiten ausgeführt wird und normalerweise verwendet wird, um Daten aus einer API oder einem Server abzurufen, die der Komponente als Eigenschaften zur Verfügung gestellt werden. Die asyncData-Methode hingegen wird nur auf dem Server ausgeführt und wird normalerweise verwendet, um Daten aus einer API oder einem Server abzurufen und sie direkt der Komponente zuzuweisen, bevor die Seite gerendert wird.
Die aufmerksamen Leser fragen sich jetzt bestimmt, warum man nicht generell die Fetch-Methode verwenden sollte. Das ist letztendlich auch den Entwicklern aufgefallen, sodass die Daten Fetch-Methoden ab Nuxt.js 3 überarbeitet wurden.



Bild von Myriams-Fotos auf Pixabay

Author

Ejder-Deniz Ceri

Ein Projekt im Sinn?

Sprecht uns an!