Die dokumentierte öffentliche Architektur von Gatsby
Gatsby baut auf React und Node.js-Werkzeugen auf. Entwickler schreiben React-Komponenten, während Gatsby Datenbeschaffung, GraphQL-Abfragen, Seitenerstellung, Asset-Verarbeitung, Bündelung und das gewählte Rendering-Verhalten koordiniert.
Dies beschreibt die für Gatsby-Projekte dokumentierte Framework-Architektur. Daraus werden keine Rückschlüsse auf die privaten Hosting-Systeme, internen Dienste oder die betriebliche Topologie hinter gatsbyjs.com gezogen.
Zentrale Bausteine
| Schicht | Öffentlich dokumentierte Rolle |
|---|---|
| React | Stellt Komponenten, JSX, State und browserseitige Interaktionen bereit. |
| Gatsby-APIs | Verbinden Konfiguration, Datenbeschaffung, Knotenerstellung, Seitenerstellung und Aufgaben des Rendering-Lebenszyklus. |
| Datenschicht | Normalisiert bezogene Datensätze als Knoten und stellt sie über ein GraphQL-Schema bereit. |
| Quell-Plugins | Importieren Inhalte aus Dateien, Content-Systemen, APIs und Diensten. |
| GraphQL | Wählt bezogene Felder für Seiten und Komponenten im Daten-Workflow von Gatsby aus. |
| Rendering | Unterstützt SSG, DSG, SSR über getServerData und clientseitige Routen. |
| Plugin-Ökosystem | Ergänzt Quellen, Transformationen, Bildverarbeitung, Styling, Analysen und andere Integrationen. |
Vom Inhalt zur Seite
- Ein Quell-Plugin ruft Inhalte ab oder liest sie ein.
- Gatsby erstellt Knoten und baut sein Datenschema auf.
- Eine Seitenabfrage fordert die erforderlichen Felder an.
- Eine React-Vorlage rendert die abgefragten Inhalte.
- Gatsby erzeugt oder liefert die Seite entsprechend ihrem Rendering-Modus aus.
Statische Seiten werden während des Builds generiert. Verzögerte Seiten werden auf kompatibler Infrastruktur bis zu ihrer ersten Anfrage aufgeschoben. SSR-Seiten führen über getServerData Logik zum Anfragezeitpunkt aus. Clientseitige Routen reservieren ausgewählte Pfade für das Anwendungsverhalten im Browser.
Die Architektur garantiert keine bestimmte Build-Zeit, Seitengeschwindigkeit oder Position in Suchergebnissen. Diese Ergebnisse hängen von der Latenz der Quellen, der Anzahl von Knoten und Seiten, dem Abfragedesign, Bildern, JavaScript, Caching, Hosting und der Implementierung selbst ab.
