У нас есть установка monorepo, которая имеет отдельный проект для каждого основного маршрута.
Например, services/src/banking
hosts <oursite>/banking
, services/src/automobile
hosts <oursite>/automobile
.
Мы уже используем общие пакеты для обмена кодом между несколькими проектами.
Однако мы столкнулись с необходимостью использовать код из другого проекта напрямую из другого.
В конкретном случае banking
необходимо использовать некоторые определения логики и модели API, определенные в automobile
(и, в конечном итоге, в других проектах, поскольку у него есть страница, объединяющая продукты из других проектов).
Распространенным решением является помещение любой разделяемой логики в пакет common / core, но это не выглядит правильным, поскольку наш сценарий:
Существует функция, которая специфична для продукта, но другой продукт может понадобиться.
Вместо:
Существует функциональность, которая имеет смысл использовать во всех продуктах.
Я искал решения для своего сценария, но в итоге получил только предложения для последнего сценария.