Gatsby собирает ваш сайт в простые файлы в public/: HTML для каждой страницы плюс JavaScript, который ускоряет навигацию. С тех пор как в 2023 году закрылся Gatsby Cloud, многим сайтам на Gatsby понадобился новый дом. Lobsite размещает собранную папку: выполните gatsby build, затем npx lobsite, и сайт заработает по адресу *.lobsite.app с HTTPS.
Как это работает
- Соберите сайт командой
npx gatsby build(илиnpm run build). Gatsby запишет его вpublic/. - Выполните
npx lobsiteв проекте. Он найдётpublic/и задеплоит её; в проекте на Gatsby это результат сборки, а ваши собственные статические файлы лежат вstatic/. Первый деплой не требует аккаунта и живёт 6 часов. - Сохраните сайт по ссылке для получения в бесплатном аккаунте. После этого те же две команды обновляют тот же адрес.
Настройки gatsby-config
// gatsby-config.js
module.exports = {
siteMetadata: { siteUrl: "https://my-site.lobsite.app" },
};
siteMetadata.siteUrl— ваш полный адрес. Его читаютgatsby-plugin-sitemap, канонические ссылки и ленты.pathPrefixне нужен: сайт отдаётся от корня своего адреса. Если вы задали его для GitHub Pages, собирайте без--prefix-paths.gatsby cleanочищает кеш иpublic/. Запустите его, если в деплое видны удалённые вами страницы.
Что требует серверных возможностей Gatsby
Статические страницы, gatsby-plugin-image и данные из GraphQL работают, потому что обрабатываются во время gatsby build. Три возможности требуют сервера и в Lobsite не работают: Gatsby Functions (src/api), серверный рендеринг через getServerData и Deferred Static Generation. Функцию, обрабатывающую форму обратной связи, замените формой, которая отправляет данные на /_lobsite/forms/contact; см. формы. Перенаправлениям из createRedirect нужен плагин хостинга; в Lobsite вместо этого пропишите их в lobsite.toml с помощью Генератора перенаправлений.
Файлы хранятся по хешу. Повторный деплой неизменённого сайта загружает 0 байт.
Предпросмотр до публикации. Откат в один клик — вместе с перенаправлениями.
Каждый сайт получает адрес *.lobsite.app с HTTPS с первого деплоя.
Направьте форму на /_lobsite/forms/contact. Фильтр спама включён.
Перенаправления, заголовки и формы хранятся в lobsite.toml и переезжают с каждым деплоем.
Деплой без аккаунта работает 6 часов. Ссылка для получения сохранит его бесплатно.
Сравнение хостингов для Gatsby
| Lobsite | Netlify | GitHub Pages | |
|---|---|---|---|
| Статические сайты на Gatsby | Да | Да | Да |
| Functions, SSR, DSG | Нет | Да | Нет |
| Сборка на сервере | Нет: вы деплоите public/ |
Да | В GitHub Actions |
| Загружаются только изменённые файлы | Да | Да | Через Git |
| Аккаунт до первого деплоя | Нет: 6 часов онлайн, затем сохраните бесплатно | Да | Да, и репозиторий |
| Формы без бэкенда | Да, когда сайт в аккаунте | Да | Нет |
| Свой домен | Да, бесплатно | Да | Да |
Netlify, который в 2023 году взял Gatsby под своё крыло, запускает и его серверные возможности. Для статического сайта на Gatsby — а таких большинство — Lobsite деплоит собранную папку одной командой, а благодаря хешированным именам файлов Gatsby повторная сборка загружает только действительно изменившиеся файлы.
Частые вопросы
Где разместить сайт на Gatsby теперь, когда Gatsby Cloud закрыт?
Собранный сайт на Gatsby отдаст любой статический хостинг. В Lobsite выполните gatsby build и npx lobsite; первый деплой не требует аккаунта.
Почему npx lobsite деплоит public/ для Gatsby?
Потому что Gatsby записывает собранный сайт в public/. Ваши собственные файлы для копирования, например favicon.ico, кладутся в static/, и Gatsby копирует их в public/ во время сборки.
Работает ли gatsby-plugin-image на статическом хостинге?
Да. Изображения масштабируются во время gatsby build и записываются в public/, так что к моменту деплоя это простые файлы.
Будет ли работать моя страница 404 из Gatsby?
Да. src/pages/404.js создаёт 404.html, и Lobsite отдаёт его со статусом 404 для любого несуществующего адреса.