~/VibeHandbook

Cloudflare

developers.cloudflare.com

Cloudflare Pages

Что это

Cloudflare Pages — это платформа хостинга для веб-сайтов: от простых статических файлов до полноценных full-stack приложений. Вы подключаете Git-репозиторий, Pages выполняет вашу команду сборки и отдаёт результат с CDN Cloudflare. Динамические маршруты и API работают как Pages Functions, которые под капотом являются Workers, так что один проект может быть одновременно и статическим сайтом, и бэкендом.

Сильные стороны

  • Управление через Git: каждый push собирает и развёртывает проект, с отдельным preview-URL для каждой ветки.
  • Статические ресурсы отдаются быстро и бесплатно с глобального CDN.
  • Pages Functions добавляют серверную логику с теми же привязками, что и у Workers (D1, R2, KV).
  • Щедрый бесплатный тариф и неограниченный трафик.
  • Откаты выполняются в один клик — каждое развёртывание сохраняется.

Компромиссы

  • Среда сборки имеет ограничения по времени и ресурсам; очень крупные сборки могут быть медленными.
  • Functions наследуют среду выполнения Workers, поэтому к ним применяются те же ограничения, не связанные с Node.
  • Для чисто динамических, постоянно работающих бэкендов обычные Workers могут подойти лучше.
  • Конфигурация сборки для менее распространённых фреймворков иногда требует ручной настройки.

Когда использовать

Используйте Pages для маркетинговых сайтов, документации, блогов, SPA и full-stack фреймворков (Next.js, Astro, SvelteKit), когда вам нужны развёртывания на основе Git, бесплатный статический хостинг и опциональные серверные функции в одном месте.

Подходит для vibe coding

Pages хорошо подходит для vibe coding, потому что всё развёртывание сводится к «подключи репозиторий и сделай push». Агент может задать команду сборки, директорию вывода и переменные окружения, а затем развернуть проект с помощью Wrangler или запустить сборку через Git. Совет: укажите агенту ваш фреймворк и нужны ли вам Functions, чтобы он выбрал правильный адаптер и директорию вывода. Также можно напрямую развернуть уже собранную директорию.

# wrangler.toml — конфигурация проекта Pages
name = "my-site"
pages_build_output_dir = "dist"

[[d1_databases]]
binding = "DB"
database_name = "my-db"
database_id = "your-d1-id"
# Развернуть уже собранную директорию вывода
npx wrangler pages deploy dist --project-name my-site