Architecture publique documentée de Gatsby
Gatsby est construit autour de React et des outils Node.js. Les développeurs écrivent des composants React, tandis que Gatsby coordonne l’importation des données, les requêtes GraphQL, la création des pages, le traitement des ressources, le regroupement du code et le comportement de rendu sélectionné.
Cela décrit l’architecture du framework documentée pour les projets Gatsby. Cela ne permet pas de déduire les systèmes d’hébergement privés, les services internes ou la topologie opérationnelle derrière gatsbyjs.com.
Éléments fondamentaux
| Couche | Rôle publiquement documenté |
|---|---|
| React | Fournit les composants, JSX, l’état et les interactions côté navigateur. |
| API Gatsby | Relient la configuration, l’importation des données, la création de nœuds, la création de pages et les tâches du cycle de vie du rendu. |
| Couche de données | Normalise les enregistrements importés sous forme de nœuds et les expose au moyen d’un schéma GraphQL. |
| Plugins sources | Importent du contenu depuis des fichiers, des systèmes de contenu, des API et des services. |
| GraphQL | Sélectionne les champs importés pour les pages et les composants dans le flux de données de Gatsby. |
| Rendu | Prend en charge le SSG, le DSG, le SSR au moyen de getServerData et les routes côté client. |
| Écosystème de plugins | Ajoute des sources, des transformations, la gestion des images, des styles, des outils d’analyse et d’autres intégrations. |
Du contenu à la page
- Un plugin source récupère ou lit le contenu.
- Gatsby crée des nœuds et construit son schéma de données.
- Une requête de page demande les champs requis.
- Un modèle React affiche le contenu obtenu par la requête.
- Gatsby produit ou sert la page selon son mode de rendu.
Les pages statiques sont générées pendant la compilation. Les pages différées sont reportées jusqu’à leur première requête sur une infrastructure compatible. Les pages SSR exécutent une logique au moment de la requête au moyen de getServerData. Les routes côté client réservent certains chemins au comportement de l’application dans le navigateur.
L’architecture ne garantit pas un temps de compilation, une vitesse de page ou un résultat de recherche précis. Ces résultats dépendent de la latence des sources, du nombre de nœuds et de pages, de la conception des requêtes, des images, de JavaScript, de la mise en cache, de l’hébergement et de l’implémentation elle-même.
