revolution & react

Сергей Прохоров
16 мар. 2015 г., 8:28
Aloha.
Intro. Немного заморочился и написал компонент для modx, позволяющий рендерить html-разметку на основе react-компонентов. Вся эта красота состоит из двух модулей: пакет для modx и express-сервер. Скачать можно на гитхабе. Сам пакет для modx доступен для скачивания в репозитории клуба.
Чуть подробнее… Так уж получилось, что мне приглянулся React. Создание же различных динамических элементов было сопряжено с одной проблемой:
React-компонент в базовом случае рендерится только после загрузки скриптов. Сразу же возникают проблемы с SEO. И надо либо отдавать какую-то базовую разметку и потом перерисовывать компоненты, либо забивать на SEO.
В первом случае, вероятно, будет виден момент перерисовки. Это особенно заметно если разметка—заглушка отличается от итоговой. Если же она должна не отличаться, то мы получим двойную работу по созданию разметки. Особенно прикольно, когда нам приходится править ее в двух местах: в смарти и в реакт-компоненте.
Согласитесь, что это не лучшее решение.
Благо у React есть возможность рендерить компоненты в строку. На выходе мы можем получить итоговую разметку и по сути мы делаем небольшой шаг в сторону изоморфных веб-приложений.
Наши компоненты могут использоваться для формирования базовой разметки. Те же компоненты после загрузки скриптов будут отвечать и за динамические элементы.
Вот собственно и все. Идея простая, как валенок, да и реализация не шибко сложная.
Я так понимаю, на сервере должен node.js работать?
Да. На гитхабе как раз лежит пара модулей. Один из них — веб-сервер для node.js
круто, отлично! а как результаты, где можно демо посмотреть?
Демо специально я нигде не публиковал. Так что только самому запускать и разворачивать. Пример шаблона есть в самом модуле.
Не путать с «я специально демо нигде не публиковал». Смысл совсем другой: )

Добавить комментарий