Я думаю, что это в основном личное решение.
Мой подход заключается в том, чтобы сделать 5 репо:
- Репозиторий для родителей
- Shared
- Отдых
- Домашняя страница
- Приложение
Затем вы можете объединить все репозитории, используя подмодули git.Это дает вам отдельную историю / лучший обзор по каждой части проекта, сохраняя при этом удобство извлечения / извлечения только один раз.
(Подробнее о подмодулях: git документации )
Чтобы сделать общий код действительно независимым, неплохо было бы физически разделить его на отдельный репозиторий git и ссылаться на него через npm.
Таким образом, структура каталогов может выглядеть следующим образом:
| MyApp
|--- .git
|--- Configuration files/global stuff not directly related to the parts of the project (e. g. build config for all projects, editor config)
|--- Shared
|--- .git
|--- package.json
|--- Source Files etc.
|--- Rest
|--- .git
|--- package.json
|--- Source Files etc.
|--- App
|--- .git
|--- package.json
|--- Source Files etc.
|--- Website
|--- .git
|--- package.json
|--- Source Files etc.