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