Преобразование рендеринга на стороне клиента в рендеринг на стороне сервера существующего реагирующего приложения - PullRequest
0 голосов
/ 06 января 2020

Мой сценарий выглядит следующим образом:

  1. Пользователь нажимает ссылку моего приложения (скажем, приложения1) через другое приложение (скажем, приложения2).
  2. Тогда приложение2 будет отправлять заголовки HTTP / HTTP в запросах, пересылаемых обратным прокси-сервером, который будет содержать роль пользователя и дополнительную информацию.
  3. В заголовках я получу роли пользователя.
  4. В зависимости от роли тип доступа будет определен и предоставлен пользователю

Теперь, согласно моему исследованию и ранее заданному вопросу, нет способа получить заголовки http-запроса. Это привело меня к идее преобразования моего приложения в рендеринг на стороне сервера, но текущая база кода настолько обширна, что оказывается огромной задачей, и я не могу найти какой-либо подходящий способ сделать то же самое, что мое приложение сильно основанный на объекте окна и маршрутизаторе браузера и нескольких других вещах, которые не поддерживаются ssr. Как лучше всего справиться с этим сценарием? Я застрял прямо сейчас, любые предложения приветствуются

1 Ответ

0 голосов
/ 06 января 2020

не уверен, что серверный рендеринг - это ответ. Я делал что-то подобное раньше, но у обоих приложений только одно условие, домен и прослушивание локального хранилища! в моем случае мне нужно передать корзину пользователя (которая находится на стороне клиента и хранится в локальном хранилище) на другой веб-сайт в том же домене для разделения области действия каждого приложения, которое я использовал nginx в nginx, который я написал два разных конфига и каждый из них указывает на разные приложения. затем в основной конфигурации nginx я написал условие, если путь начинается с / что-то, используйте конфигурацию app2, а для других маршрутов используйте конфигурацию app1.

, затем в app1 и app2 я написал syn c функция, которая слушает локальное хранилище и изменения их

например, у меня есть ключ в локальном хранилище под названием 'корзина' и для app2 я хочу использовать его

window.addEventListener('storage', handleSyncStorage);

так что слушатель будет слушать изменения в хранилище. и если я хочу что-то сделать с изменениями «корзины» в локальном хранилище

handleSyncStorage = e => {
    if(e.key === 'basket') {
       doSomethingToSyncBasket()
    }
}

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...