Utilisation de la diffusion en continu pour améliorer les performances des pages
Le SSR d’Astro utilise le streaming HTML pour envoyer chaque composant au navigateur lorsqu’il est disponible, afin d’accélérer le chargement de la page. Pour améliorer encore les performances de votre page, vous pouvez construire vos composants de manière stratégique afin d’optimiser leur chargement en évitant de bloquer la récupération des données.
L’exemple de refactorisation suivant montre comment améliorer les performances d’une page en déplaçant les appels de données vers d’autres composants, et en les retirant d’un composant où ils bloquent le rendu de la page.
La page suivante “attend” des données dans son frontmatter. Astro attendra que tous les appels fetch
soient résolus avant d’envoyer du HTML au navigateur.
---const personResponse = await fetch('https://randomuser.me/api/');const personData = await personResponse.json();const randomPerson = personData.results[0];const factResponse = await fetch('https://catfact.ninja/fact');const factData = await factResponse.json();---<html> <head> <title>Un nom et un fait</title> </head> <body> <h2>Un nom</h2> <p>{randomPerson.name.first}</p> <h2>Un fait</h2> <p>{factData.fact}</p> </body></html>