Можно ли использовать фреймворк Astro Static Site Generator для создания страниц на лету из данных, полученных из API?

Проект в нашей компании был построен с использованием Astro и Svelte. В этом проекте API-вызовы должны выполняться в CMS для динамического создания сообщений в блогах. Я хотел бы, чтобы мои клиенты могли писать сообщения в блогах, обновлять CMS(GraphCMS) и видеть, что на веб-сайте создано новое сообщение.

3 ответа

Решение

По сути, нет. Генераторы статических сайтов предназначены в основном для создания статических сайтов. Некоторые обходные пути включают запуск сборок для сайта при обнаружении обновления содержимого.

Это можно сделать двумя способами.

GraphCMS позволяет вам запускать веб-хук, когда действие завершено, в этом случае опубликуйте сообщение в блоге. Вам нужно размещать что-то вроде Vercel или Netlify, но пока ваша система сборки имеет триггер веб-хука, она может принять полезную нагрузку и перестроить сайт. Это займет минуту или две, но человек должен увидеть новый контент относительно быстро.

Другой способ, предложенный другими авторами, заключается в использовании Astro со Svelte, React или какой-либо другой JS на стороне клиента и добавлении маршрутизатора на стороне клиента, который затем может получать и отображать сообщения на клиенте. Это менее эффективно, потому что вашим пользователям придется ждать получения данных, и они, вероятно, не будут отображаться в поисковых системах.

Если ваша компания использует Svelte, обратите внимание на Sveltekit. См.
Https://docs.astro.build/comparing-astro-vs-other-tools/#sveltekit-vs-astro
https://kit.svelte.dev/
https://svelteland.github.io/svelte- kit-blog-demo / создать-ваш-блог /

Другие вопросы по тегам