我正在为带有 Nest.js 后端的 Angular 应用程序设置一个新的 Nx 工作区。对于前端,不会只有一个应用程序,而是多个变体,例如每个客户的样式不同,功能略有不同。
在工作区中构建的常用方法libs
是,在顶层设置后端(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
基本上,我们将后端和前端代码分开。
这也有意义吗,或者有什么好的理由不将每个功能的后端和前端分组?例如:
└── 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
很可能,最终我是否保持后端和前端的每个功能的库一致并不重要,但不知何故,将一个功能的所有内容放在一个屋檐下对我来说感觉更好。
client
尽管如此,也会有客户端或 api 的库不属于任何功能,因此api
在libs
.
感谢您对此的任何想法和最佳实践的提示。