Как загрузить в браузер клиента только необходимые ресурсы с помощью React. js и Node.js - PullRequest
0 голосов
/ 09 апреля 2020

Я собираюсь построить очень большую ERP-систему SaaS на базе SPA с реакцией. js на внешнем интерфейсе, которая имеет действительно сложную систему ролей и разрешений . Я провел некоторый анализ своего приложения, поэтому понял, что должен создать правильную архитектуру своего приложения, чтобы не сожалеть и не беспокоиться о своем приложении и его масштабируемости в будущем. В основном я беспокоился о роли и управлении базой. Где мне нужно переключаться между разными компонентами при первой загрузке.

Бэкэнд, с которым я работаю над этим проектом: Php и node.js

Моя точная проблема : у меня около 500+ разрешений с более чем 100 ролями в моей системе. Некоторые роли получают только от 1 до 10 разрешений. Это приводит к переключению и отображению единственного компонента этого разрешения в клиентском браузере на внешнем интерфейсе. Моя основная проблема Почему я должен загружать нежелательные компоненты в клиентском браузере, к которым у пользователей нет прав доступа?

Пример проблемы: Администратор дал только 3 разрешения г-ну Джону в их системе. Где система содержит всего 100 разрешений. Каждое разрешение приводит к переключению и просмотру 100 родительских компонентов. Если Mr.John имеет только 3 разрешения, которые должны переключать только 3 родительских компонента, почему другие компоненты отправляются в браузер клиента?

Что я хотел сделать?

После аутентификации я хочу проверить разрешение и роль этого пользователя в бэкэнде и отправить только требуемые ресурсы клиент. Таким образом, размер моего приложения зависит от роли и разрешения, которое имеет конкретный пользователь.

Чтобы решить эту проблему, я подумал (не уверен) :

Перед этим проектом У меня есть аналогичный проект на PHP без использования какой-либо сложной библиотеки внешнего интерфейса. Это было действительно легко на этапе разработки. Я работал с React и Vue. Но я никогда не использовал серверный рендеринг. Я думал, что концепция SSR может помочь мне, поэтому я пошел к множеству источников и узнал о SSR. (Тем не менее, я не уверен, что концепция SSR может мне помочь.)

Пожалуйста, помогите мне принять правильное решение?

1 Ответ

1 голос
/ 10 апреля 2020

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

Разделение кода - это то, что вам нужно. Это не только React, но и для всей интерфейсной среды (или библиотеки) с использованием webpack

Читать официальные статьи

Возможно entry point комплекта (веб-пакета) должно быть простым. После получения роли и разрешения браузер должен загрузить нужные компоненты. Также, возможно react-router поможет вам. Или, если вы рассматриваете серверный рендеринг, next.js для вас

...