🔥

Тред (@xnimorz)


@jsunderhood @andrey_sitnik Для статического сайта, если не реакт, то другой шаблонизатор. Соль в том что (п)реакт даже в таких условиях удобнее каких-нибудь Mustache или Jade.
Здесь есть несколько особенностей: Полностью статический сайт всегда можно прекомпилировать и получить на выходе готовые html файлы без шаблонизации во время запроса. Это можно сделать на любой технологии в том числе на (п)реакте. Gatsby, react-static так делают очень легко. twitter.com/snejink/status…

Иногда сайт нельзя полностью прекомпилировать. Например, будут небольшие кусочки типа "комментарий пользователя" и тогда шаблонизировать будем в момент запроса (+ можно настроить кеширование в условном memcache или даже nginx)

Главная же проблема в реакте для такой задачи — что на клиент обычно поставляют весь бандл кода, который большую часть времени тратит на то, чтобы загрузиться, проинициализироваться, сделать гидрейт.

А полезного кода, который отправит и красиво добавит комментарий без перезагрузки страницы — это от силы останется 5% от общего бандла. Мы получаем проблему, что выбрали действительно хороший и мощный инструмент, но его используем не самым эффективным образом...

Если делается такой сайт, а условный (п)реакт, вью хочется, я бы рассматривал такой вариант: Сделайте 2 точки входа. Одна будет рендерить приложение на сервере, другая будет инитить рут-ноду только на блоке "комментарии пользователя" и именно она отправляется на клиент

Это позволяет вам не делать лишние телодвижения на клиенте. Код, который ничего не делает, на клиент не попадет. Код не будет значительно переусложнен, потому что это можно разрулить по месту через process.env и на этапе создания бандла убрать оставшийся dead code

Единственное, еще и сама библиотека имеет свой размер. Например, вот реакт-дом: bundlephobia.com/result?p=react…