Я создаю monorepo для набора приложений React и общего кода библиотеки.Одним из пакетов будет библиотека компонентов.
packages
app1
app2
common-ui
alert
button
Я довольно новичок во всей экосистеме React / узлов.
Я просмотрел множество реальных примеров библиотек пользовательского интерфейса - act-bootstrap , material-design-components-реаги * и т. Д.
Кажется, я бы хотел, чтобы каждый компонент в библиотеке Common-UI распространялся в виде отдельных файлов, чтобы их можно было выбирать при импорте в потребляющее приложение.
act-bootsrap делает это, используя babel для сборки "lib".Они встроены в дистрибутив браузера, библиотеку commonjs и библиотеку ES.
material-design-components-реагирует на это, имея свою библиотеку компонентов самим lerna monorepo, причем каждый компонент имеет свой собственный пакет.json, и я полагаю, что они используют webpack для создания каждого компонента по отдельности.
Итак, мой первый вопрос:
- Является ли структура, подобная материалу, дизайну, компонентам, реагирующим в моей общейПапка пользовательского интерфейса - что-то вроде монорепо в монорепо возможно?
Или мне придется реструктурировать:
packages
app1
app2
alert
button
Мой второй вопрос:
Какой дизайн рекомендуется сообществом для библиотеки компонентов в крупном монорепо?Это должна быть общая структура, которую разработчики должны решить, когда у них много клиентских приложений с общими библиотеками.Пакет на компонент с общим пользовательским интерфейсом выглядит чрезмерно сложным, но, конечно, у них есть сценарии, которые могут помочь.