Как стать автором
Обновить

Динамические serverless сайты на Github Pages (для тех, кто не знает, serverless используют сторонние API-сервера)

Время на прочтение2 мин
Количество просмотров7.1K


Наверняка многие слышали про github pages и что там можно размещать статические сайты (сгенерировал и залил туда). Но ведь хотелось бы, чтобы при этом была динамика, то есть можно было бы один раз залить код и наполнять его как на заправдашной ЦМСке, да еще и авторизация была, динамически подгружаемые данные и все такое. Верно? Вот и мне такое захотелось. Заходите под кат, покажу, что у меня получилось.

Для начала, как и обещал, покажу, что получилось, а потом детали поведаю (следите за сменой вкладок и адресами страниц).


Итак, что же здесь происходит? Недавно я писал про то, что пишу headless-cms под кодовым названием Prisma CMS.

Но как я и писал, изначально задумка была такова, что хотя сервер и фронт дружат друг с другом, все-таки они должны уметь жить своей жизнью и являются самостоятельными единицами. И вот если сервер следует современной тенденции headless-cms/api-first-cms, то фронт следует другой концепции — serverless. То есть если мы запускаем отдельно фронт, мы просто ему указываем endpoint API-сервера (совсем не обязательно на этом же домене), и данные будут подтягиваться по API (и будет работать авторизация).

Но и это еще не все. На оффсайте я писал статью про то, что на prisma-cms.com каждый может создать себе сайт на поддомене, который будет использовать единую базу данных, но можно индивидуально под себя оформить свой собственный сайт. Так вот, если вы скопируете себе репозиторий prisma-cms.github.io, вы получите свой собственный сайт, как это и показано в видеоролике.

Но можно и вовсе поднять свой собственный сервер и сайт. Вот здесь лежат исходники сайта: https://github.com/prisma-cms/prisma-cms.com. Разворачиваете на своем сервере и и запускаете. Если все работает, вот здесь указываете свой API endpoint и собираете командой PUBLIC_URL=./ yarn build
Все, сайт готов. Теперь, следуя официальной инструкции заливаете содержимое папки build на гитхаб и у вас свой собственный сайт с вашим API (можно одно API использовать для работы кучи отдельных статических сайтов, каждый из которых может быть со своим самостоятельным оформлением).

И я не зря использовал картинку с надписью Social coding. Как видно в видеоролике, все шаблоны, создаваемые на любом из сайтов, использующих единую базу данных, можно использовать в оформлении других сайтов. То есть в перспективе, если интерес будет достаточный, можно будет создать единый маркетплейс шаблонов и частей шаблонов для быстрого создания сайтов из готовых компонентов.

Всем приятного кодинга!

Сам сайт: prisma-cms.github.io
Теги:
Хабы:
Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку
Всего голосов 26: ↑8 и ↓18-10
Комментарии39

Публикации

Истории

Работа

Ближайшие события

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань