Привіт, хочу поділитися що ще вдалося зробити по сервер-сайд рендерінгу.
Перше, вдалося переробити увесь фронт на роботу з оновленою API-лібою UJournal JS Client. Ця ліба підтримує роботу як на бекенді, так і на фронтенді. Я почистив лібку від монад. Чесно, досі не дуже зрозумів яка користь з монад, а брак доків зовсім ускладнює розуміння.
Основним моментом переходу до оновленої ліби є переробка коду UJournal UI на роботу без монад. Це затронуло практично усі файли системи. Але, субʼєктивно код став набагато зрозумілішим пересічному програмісту.
Іншим моментом є перероблення з фронтового рендерінгу на серверний. Міняється сама концепція отримання інформації браузером. Якщо раніше ми отримували пусту сторінку, запускали JS і потім йшли до сервера за текстом поста, то тепер браузер отримує від сервера одразу сторінку з постом. Якщо у поточній версії у нас є API-сервер і папка з статичною аплікухою, то нова версія буде мати API-сервер та фронтенд-сервер.
Який результат зараз маю. Я перевів стрічку постів та сторінку поста на серверний рендерінг:
Можно звернути увагу, що URL тепер має більш зрузумілий вигляд.
Також HTML сторінки має інформацію поста, що добре для пошукових машин:
Кроки які залишилися для переходу на нову версію:
- Мені потрібно закінчити переробку рендерінга UJournal UI на серверний;
- Мені потрібно розібратися як правильно сконфігурувати Nginx щоб він почав показувати NextJS серверну частину з Docker.
Щодо Nginx то я розгорнув повноцінне оточення в докері, тож зможу створити конфігурацію для нової вресії, а вже потім розгорну її на сервері.
Це поки всі новини про поточний стан роботи. Я буду робити такі суто технічні пости щоб мати змогу описувати те що роблю і притримуватися наміченого плуну. Якщо є питання буду радий відповісти. Всім добра!
12 коментарів