Получение данных
.astro
файлы могут выполнять запросы на получение данных во время сборки чтобы помочь с генерацией ваших страниц.
fetch()
в Astro
Заголовок раздела fetch() в AstroВсе Astro компоненты имеют доступ к глобальной fetch()
функции в скрипте компонента для отправки HTTP запросов к APIs. Этот запрос будет выполнен во время сборки, и данные будут доступны шаблону компонента для генерации динамического HTML.
💡 Воспользуйтесь преимуществом await верхнего уровня внутри скрипта вашего Astro компонента.
💡 Передавайте полученные данные в Astro и компоненты фреймворков, как пропсы.
Помните, что, Astro компоненты получают данные когда они рендерятся.
Ваш задеплоенный Astro сайт выполнит запрос на получение данных один раз, во время сборки. Во время разработки, вы увидите запросы данных когда компонент обновляется. Если вам нужно обновлять данные несколько раз на стороне клиента, используйте компоненты фреймворка или клиентские скрипты в Astro компоненте.
fetch()
в компонентах фреймворка
Заголовок раздела fetch() в компонентах фреймворкаФункция fetch()
доступна глобально в любом компоненте фреймворка:
GraphQL запросы
Заголовок раздела GraphQL запросыAstro также может использовать fetch()
для запроса к GraphQL серверу с любым действительным GraphQL запросом.
Запросы к Headless CMS
Заголовок раздела Запросы к Headless CMSЗапрашивайте контент с вашей любимой CMS как Storyblok или WordPress!
Astro компоненты могут получать данные с вашей CMS и затем рендерить контент на странице. Используя динамические роуты, компоненты даже могут генерировать страницы основываясь на контенте с вашей CMS.
Ниже примеры, как такое получение данных выглядит в Astro, с ссылками на полные инструкции.
Пример: Storyblok API
Заголовок раздела Пример: Storyblok APIПосмотрите полное руководство Добавление Headless CMS в Astro за 5 минут чтобы добавить Storyblok в ваш Astro проект!
Пример: WordPress + GraphQL
Заголовок раздела Пример: WordPress + GraphQLПосмотрите полное руководство Создание Astro веб-сайта с WordPress как Headless CMS чтобы добавить WordPress в ваш Astro проект!