В настоящее время у нас есть общий бэкэнд и внешний интерфейс для двух проектов.Проект B, по сути, является лишь подмножеством проекта A. Он имеет все те же функции, за исключением некоторых, которые мы ограничиваем.
Используя модуль dotenv в узле, я могу ограничить загрузку определенных маршрутов, поэтому бэкэндвсе обрабатываются с переменными среды.Однако внешний интерфейс имеет другую основную цветовую схему (синий вместо фиолетового), и логотип также отличается.
Как бы я загрузил эти два различия в зависимости от среды / развертывания?Я попытался поместить все общие CSS в один файл и оттуда импортировать их. Я думаю, что основное отличие во внешнем интерфейсе состоит в том, что projA - это другая тема, чем projB.Некоторые из компонентов, которые я могу скрыть / показать с помощью условной функции рендеринга реагирует.
main.scss:
@import _projA.scss
@import _projB.scss
Затем в своем конфиге веб-пакета я передаю переменную окружения через скрипт сборки npm и исключаю _projA или projB.scss.Это все еще загружает оба, и я предполагаю его, потому что основной файл scss импортирует оба.
РЕДАКТИРОВАТЬ: https://medium.com/@trekinbami/using-environment-variables-in-react-6b0a99d83cf5