Структура библиотеки рабочей области Nx для приложения Angular/Nest.js

Я настраиваю новое рабочее пространство Nx для приложения Angular с бэкэндом Nest.js. Для внешнего интерфейса будет не одно приложение, а несколько вариантов, например, с разным стилем для каждого клиента и немного разными функциями.

Обычный подход к структурированию рабочей области заключается в том, что внутренние (API) и внешние (клиентские) папки находятся на верхнем уровне, а внутри находятся такие функции, как:

      └── root
    ├── apps
    │   ├── api (nestjs)
    │   └── client (angular)
    └── libs
        ├── api
        │   ├── core
        │   │   └── src
        │   ├── feature-1
        │   │   └── src
        │   └── feature-2
        │       └── src
        ├── client
        │   ├── shell
        │   │   └── src
        │   ├── feature-1
        │   │   └── src
        │   └── feature-2
        │       └── src
        └── shared
            └── src

По сути, мы разделяем backend и frontend код.

Будет ли это также иметь смысл, или есть веские причины не группировать бэкенд и интерфейс для каждой функции? Например:

      └── root
    ├── apps
    │   ├── api
    │   └── client
    └── libs
        ├── feature-1
        │   ├── api
        │   │   └── core
        │   │       └── src
        │   ├── client
        │   │   └── ui
        │   │       └── src
        │   └── shared
        │       └── util
        │           └── src
        ├── feature-2
        │   ├── api
        │   │   └── core
        │   │       └── src
        │   ├── client
        │   │   └── ui
        │   │       └── src
        │   └── shared
        │       └── util
        │           └── src
        └── shared
            └── src

Вероятно, в конце концов, на самом деле не имеет значения, сохраняю ли я библиотеки для каждой функции на бэкэнде и внешнем интерфейсе согласованными, но почему-то мне кажется лучше иметь все для одной функции под одной крышей.

Тем не менее, также будут библиотеки для клиента или API, не являющиеся частью какой-либо функции, так что все еще есть clientи apiпапка под libs.

Спасибо за любые мысли по этому поводу и подсказки для лучших практик.

0 ответов

Другие вопросы по тегам