Gatsby збирає сайт у звичайні файли в public/: HTML для кожної сторінки та JavaScript для швидкої навігації. Після закриття Gatsby Cloud у 2023 році багатьом сайтам 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 | Так | Так | Так |
| Функції, SSR, DSG | Ні | Так | Ні |
| Збірка на сервері | Ні: ви розгортаєте public/ |
Так | У GitHub Actions |
| Завантажуються лише змінені файли | Так | Так | Через Git |
| Обліковий запис перед першим розгортанням | Ні: працює 6 годин, потім можна зберегти безкоштовно | Так | Так, і репозиторій |
| Форми без бекенду | Так, після додавання сайту до облікового запису | Так | Ні |
| Власний домен | Так, безкоштовно | Так | Так |
Netlify, яка придбала Gatsby у 2023 році, підтримує й серверні можливості. Для статичного сайту 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 для будь-якої адреси, якої не існує.