Две недели назад мы объявили экспериментальную поддержку SSR с Netlify как партнёра запуска на Netlify Functions. Сегодня объявляем поддержку SSR на новой платформе Edge Functions от Netlify. Edge Functions запустились сегодня, и Astro поддерживает их с первого дня.
С SSR в Astro вы можете:
- Строить большие CMS-сайты, которые сложно масштабировать со SSG.
- Создавать приложения с аутентификацией и состоянием, например e-commerce бэкенды.
- Использовать упрощённый HTML-подобный синтаксис с JavaScript только там, где нужно.
Edge rendering приближает SSR к пользователям, ускоряя первые байты в браузере. Вместе со статическими ассетами на edge это даёт оптимальную сетевую производительность. Astro стремится делать быстрые контентные сайты простыми, а Edge Functions от Netlify — идеальное место для развёртывания Astro SSR.
Для начала установите адаптер Netlify:
npm install @astrojs/netlifyИ добавьте адаптер в astro.config.mjs:
import { defineConfig } from "astro/config"import netlify from "@astrojs/netlify/edge-functions"
export default defineConfig({ adapter: netlify(),})Миграция с Netlify Functions
Astro уже доступен на Netlify Functions — serverless runtime на Node.js. С Edge Functions производительность ещё выше, и мы постарались упростить переход.
Совместимость
Netlify Edge Functions работают на Deno, но большинству Astro-приложений не нужно менять код. Адаптер Netlify компилирует и бандлит исходники для Deno.
Если зависимости используют встроенные модули Node.js, возможно, придётся остаться на Netlify Functions — там полноценный Node.js runtime.
Компонент <Markdown /> пока не работает вне Node.js. Альтернатива — страницы .md.
Миграция
Обновите @astrojs/netlify:
npm install @astrojs/netlify@latestЗатем обновите astro.config.mjs:
import { defineConfig } from 'astro/config'; import netlify from '@astrojs/netlify/functions'; import netlify from '@astrojs/netlify/edge-functions';
export default defineConfig({ adapter: netlify()});Готово! При следующей сборке будет SSR-совместимый билд для Edge Functions, который можно развернуть через netlify deploy --build.
Партнёрства
Netlify был партнёром запуска SSR для Astro. За короткое время мы увидели огромную поддержку других платформ — адаптеры уже созданы или в разработке.
Хотите адаптер для другой платформы — заходите в Discord, поможем!
