Получение данных
Файлы .astro
могут получать удаленные данные, чтобы помочь вам генерировать страницы.
fetch()
в Astro
Заголовок раздела fetch() в AstroВсе компоненты Astro имеют доступ к глобальной функции fetch()
в скрипте своего компонента для выполнения HTTP-запросов к API с использованием полного URL (например, https://example.com/api или Astro.url + "/api"
).
Этот запрос fetch будет выполнен во время сборки, и данные будут доступны шаблону компонента для генерации динамического HTML. Если включен режим SSR (EN), любые запросы fetch будут выполняться во время выполнения.
💡 Воспользуйтесь преимуществом await верхнего уровня внутри скрипта вашего Astro компонента.
💡 Передавайте полученные данные как компонентам Astro, так и компонентам фреймворка в виде пропсов.
Помните, что Astro компоненты получают данные когда они рендерятся.
Ваш развернутый сайт Astro будет получать данные один раз, во время сборки. Во время разработки вы увидите запросы данных при обновлении компонента. Если вам нужно обновлять данные несколько раз на стороне клиента, используйте компоненты фреймворка (EN) или клиентские скрипты в компоненте Astro.
fetch()
в компонентах фреймворка
Заголовок раздела fetch() в компонентах фреймворкаФункция fetch()
также глобально доступна для любого компонента фреймворка (EN):
Запросы на GraphQL
Заголовок раздела Запросы на GraphQLAstro также может использовать fetch()
для запроса к GraphQL-серверу с любым корректным GraphQL-запросом.
Получение данных из безголовой CMS
Заголовок раздела Получение данных из безголовой CMSКомпоненты Astro могут получать данные из вашей любимой CMS и затем отображать их в качестве содержимого страницы. Используя динамические маршруты, компоненты могут даже генерировать страницы на основе содержимого вашей CMS.
Посмотрите наши Руководства по CMS для получения подробной информации об интеграции Astro с безголовыми CMS, включая Storyblok, Contentful и WordPress.