Мой начальник попросил меня найти способ полностью отделить наше интерфейсное приложение от внутреннего в локальной среде. В настоящее время я являюсь единственным разработчиком как нашего программного обеспечения, так и внешнего интерфейса, поэтомуИспользуя Docker, я могу имитировать производственную среду и работать над обоими проектами отдельно (мы не выполняем рендеринг на стороне сервера), его идея состоит в том, чтобы буквально высмеивать все, поэтому в теории вам не понадобится серверная частьпрограммное обеспечение для разработки интерфейса.
Два из (более разумных) решений, о которых я подумал:
- Проверка всех сетевых запросов на интерфейсе, эти функциибудет работать вместо сетевых запросов.проблема с этим подходом заключается в том, что он не является постоянным, все данные генерируются случайным образом для каждого запроса, и в системе, которая так ориентирована на формы, таблицы и списки, я чувствую, что получение данных, которые вы ожидаете послезаполнение формы является обязательным.и чтобы сохранить данные, каждый запрос должен проходить через какое-то хранилище данных (Mobx, Redux и т. д.) и даже тогда, если страница обновляется, данные исчезают.
- ИнициированиеЭкспресс-сервер и БД поверх Docker вместе с Webpack, и имитируют запросы и ответы производственного сервера с использованием сеялок db, таким образом, внешний интерфейс является постоянным.Очевидно, что такой подход потребует много работы, и для того, чтобы убедиться, что сервер экспресс-управления корректно имитирует исходное фоновое программное обеспечение, ему также потребуются модульные тесты и запросы на имитацию.
Во время симуляцииданные отлично подходят для юнит-тестов, для меня это не похоже на фронтенд с такой маленькой командой, есть ли хороший подход для достижения этого, который я не могу придумать или найти?или это упражнение в плохих стратегиях развязки?