Статические сайты и одностраничные приложения.
Чистый HTML или фронтенд-сборка (Vite, React, Vue, Angular, Astro, Docusaurus и другие): как находится папка результата, маршрутизация одностраничных приложений и цена небольшого статического сайта.
Статический сайт — чистый HTML или файлы, полученные фронтенд-сборкой, — работает как любое другое приложение: каждый push разворачивается, для веток создаются превью, а вы получаете HTTPS и собственный домен.
Что мы распознаём
| Проект | Папка результата |
|---|---|
Чистый HTML — index.html в корне | корень |
index.html в public, dist, site или docs | эта папка |
| Vite (React, Vue, Svelte) | dist |
| Create React App | build |
| Angular | dist |
| Vue CLI, Parcel | dist |
| Gatsby | public |
| Astro | dist |
| Docusaurus | build |
| VitePress | .vitepress/dist |
Next.js с output: 'export' | out |
Nuxt с ssr: false (generate) | .output/public |
SvelteKit с adapter-static | build |
Если сборка помещает файлы в другое место, мы ищем первую папку с index.html среди dist, build, out, public и .output/public. Папку можно также указать самостоятельно в Настройки → Настройки сборки → Папка результата.
Одностраничные приложения
Для фронтенд-сборки любой адрес, который не является файлом, открывает index.html, поэтому клиентская маршрутизация (React Router, Vue Router и другие) работает при перезагрузке страницы и при переходе по прямым ссылкам. Файлы отдаются в сжатом виде.
Настройки сборки
Команды установки и сборки берутся из вашего package.json и lock-файла (npm, yarn или pnpm). При необходимости измените их в Настройки → Настройки сборки — например, на npm run build:prod.
Переменные с вкладки Переменные доступны работающему приложению, а не сборке. Значение, которое фронтенд-сборка встраивает в файлы, — например, VITE_API_URL, — берётся из вашего репозитория, например из закоммиченного файла .env.production. Закоммитьте изменение и сделайте push, чтобы пересобрать сайт.
Цена
Статическому сайту нужно совсем немного: 512 МБ памяти, 1 ядро и 5 ГБ диска — $7 в месяц более чем достаточно для большинства сайтов. Трафик включает 500 ГБ в месяц. См. Оплата приложений.