Лучший подход для некоторых проектов, работающих на разных доменах, например .com и .co.uk - PullRequest
1 голос
/ 31 января 2020

У меня есть проект создания React приложения, который будет указывать на два разных домена: .com и .co.uk.

Я хочу сделать некоторую локализацию, например, если .co.uk валюта будет установлена ​​как punds, адрес электронной почты будет go для почтовых ящиков в Великобритании и др. c.

Каков наилучший способ сделать это? Я думал, что window.location.href значение передано путём переноса моих маршрутов в контекст в App.js, но у меня есть некоторые проблемы с эффектом использования, и я не уверен, что это самый эффективный подход.

1 Ответ

1 голос
/ 31 января 2020

Лучшим способом было бы использование переменных среды - это также позволяет легко отлаживать любую версию. Это потребует от вас создания проекта дважды для каждого обновления веб-сайта - одна версия для .co.uk, а другая для .com.

Установка переменной среды может быть выполнена с помощью файла .env (в зависимости от если вы хотите, чтобы он был локальным, вы можете использовать .env.local, если вы хотите, чтобы он был только на производстве, вы можете использовать .env.production, и если вы хотите сохранить свои производственные значения локально, вы можете использовать .env.production.local) или с помощью добавления значение среды перед сборкой, например REACT_APP_COUNTRY=uk yarn build.

Чтобы переменные были доступны в вашем приложении, вам нужно убедиться, что они начинаются с REACT_APP_. Вы можете получить к ним доступ в своем проекте с помощью process.env.REACT_APP_COUNTRY (вам не нужно импортировать / устанавливать какие-либо библиотеки).

Если у вас настроен CI / CD, это будет проще - вам просто нужно создать два отдельные конвейеры для развертывания версии с REACT_APP_COUNTRY=uk на сайте .co.uk и версии с REACT_APP_COUNTRY=us на сайте .com.

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