Ответ
- Static Site Generation (SSG) – генерируешь HTML на этапе сборки (например, через Next.js, Gatsby, Nuxt.js). Подходит для контента, который редко меняется.
// В Next.js страница будет сгенерирована при сборке
export async function getStaticProps() {
const data = await fetchAPI();
return { props: { data } };
}
-
Pre-rendering – рендеришь страницы заранее (например, через
react-snapилиprerender-spa-pluginдля Webpack). После сборки получаешь статические HTML-файлы. -
CDN + Edge Functions – используешь сервисы типа Vercel Edge Functions, Cloudflare Workers или Netlify Functions для рендеринга на "краю" сети без своего сервера.
-
ISR (Incremental Static Regeneration) – в Next.js можно обновлять статичные страницы через заданные интервалы без full rebuild.
-
JAMstack – комбинируешь статику с API (например, Headless CMS + статический генератор).
Ответ 18+ 🔞
Да ты посмотри, какие, блядь, варианты нам подсовывают, чтобы свой сервер не держать! Прямо как в магазине — выбирай, не хочу. Ну, слушай, разбираем эту хуйню по полочкам.
1. Статическая генерация сайта (SSG) — это когда ты, сука, всё готовишь заранее, как холостяк борщ на неделю. Собрал раз — и нахуй, у тебя уже готовые HTML-файлы лежат. Идеально, если контент у тебя меняется реже, чем у бабушки в деревне интернет. Берёшь Next.js, Gatsby или что там у тебя модно, и вперёд.
// В Next.js вот так вот, блядь, делается. Собрался — и всё, пиздец.
export async function getStaticProps() {
const data = await fetchAPI();
return { props: { data } };
}
2. Предварительный рендеринг (Pre-rendering) — это почти то же самое, но, блядь, сбоку. Берешь свой уже готовый SPA-шный проект на React или Vue и, как хитрая жопа, прогоняешь его через какие-нибудь react-snap или prerender-spa-plugin. Они, сука, отрендерят все страницы в статичный HTML, и твой клиентский фреймворк потом сверху натянется. Хитро, да?
3. CDN + Edge Functions — вот это, блядь, уже ближе к магии. Ты свой серверный код (рендеринг, блядь, тот же) засовываешь на "край" сети, в эти ихние Vercel Edge Functions, Cloudflare Workers. Запрос прилетел — функция на краю CDN его обработала и отдала готовую страницу. Сервера своего — ноль, ебать, вошь ядрёная!
4. ISR (Инкрементальная регенерация статики) — это, сука, вообще изящно, как у Next.js. Ты страницы собрал статично, но сказал: "Слушай, чувак, эту вот страницу раз в час обновляй нахуй". И система тихонечко, на фоне, её перегенерит. Гости приходят — всегда свеженькое, а ты не паришься.
5. JAMstack — это, блядь, не технология, а целая философия, ёпта! Ты берёшь статический генератор (тот же SSG), прикручиваешь к нему Headless CMS (чтобы контент менять через админку, а не в коде ковыряться), и всё это дело стыкуешь через API. Фронт — статика, данные — извне. Красота, в рот меня чих-пых!
Вот и вся, блядь, кухня. Выбирай, что по душе, и не заморачивайся с серверами, как наши предки.