Así que tengo la siguiente estructura de proyecto:
apps ├── car └── [...] libs ├── app-car ├── [...] └── shared ├── config └── [...]Para cada aplicación, quiero proporcionar una configuración diferente, que se pueda usar en las bibliotecas agrupadas.
export interface DefaultAppConfig { language: string; } export interface CarAppConfig extends DefaultAppConfig { dealerShipName: string; }Así es como proporciono la configuración para cada aplicación.
Pero, ¿cómo puedo encasillar la configuración (colocada en shared/config ) de que CarAppConfig se usa solo para el grupo app-car y DefaultAppConfig para shared ?
Por lo que puedo entender, en mi humilde opinión, debe mantener DefaultAppConfig en shared/config y CarAppConfig en app-car .
Motivo: como sugiere el nombre, shared es compartido por todas las librerías . Entonces, ¿por qué otra aplicación debería tener acceso a un objeto que está fuera de su alcance?
Puede extend DefaultAppConfig en todas las aplicaciones y usarlo en su app-car.module o algo así.
Nota al margen: también puede explorar el concepto de etiquetas para tener más control sobre lo que se puede importar a una librería y lo que no.
Por favor, hágamelo saber si lo entiendo correctamente.