React/Redux Рендеринг на стороне сервера + Разделение кода
Я пытаюсь реализовать рендеринг на стороне сервера (SSR) с разделением кода, чтобы обеспечить права пользователей со стороны сервера. Идея состоит в том, чтобы отобразить маршруты, к которым у пользователя есть доступ, т.е. если обычный пользователь войдет в систему, он не сможет увидеть страницу / admin, но если пользователь с правами администратора войдет в систему, он сможет это сделать.
До сих пор я рассматривал несколько вариантов, первый реакции-маршрутизатор казался надежным решением, но, к сожалению, StaticRouter по-прежнему будет обслуживать компоненты, связанные с путями, заблокированными для пользователя, и подвергать разметку на клиенте.
Затем я начал изучать подход, ориентированный на избыточность, и обнаружил, что сначала используется маршрутизация на основе избыточности. Этот пакет выглядел многообещающе, так как демонстрация демонстрирует функциональность, которую я ищу. Однако этот подход оказывается более сложным, чем ожидалось, так как порции не будут загружаться для разных компонентов.
Может кто-нибудь проверить, какой подход имеет смысл для SPA SSR, или как динамическая загрузка может быть выполнена с сервера?
1 ответ
Посмотрите видео с рендеринга на стороне сервера от команды Firebase. Они используют экспресс-маршрутизацию и промежуточное ПО для обработки всех запросов сервера. В вашем случае дорожная карта будет:
- Пользователь запрашивает веб-страницу входа, экспресс обрабатывает и направляет запрос, серверная сторона отображает страницу входа, возвращает страницу входа
- Пользователь отправляет запрос на вход на сервер, экспресс-обработку и маршрутизацию запроса, серверная сторона отображает страницу с или без ссылки администратора, и возвращает веб-страницу