En primer lugar, no es un duplicado de ninguna otra pregunta y he leído la guía angular sobre eso. Sin embargo, todavía tengo varias preguntas.
El módulo de funciones es el más fácil: tiene una función, agrúpela en un módulo de funciones. Digamos que, además de la característica obvia, tengo las páginas que tiene cada aplicación:
Probablemente podría mover todo al módulo de características llamado 'estático' pero no me gusta el nombre y tampoco me gusta agrupar la mayoría de las cosas no relacionadas en el mismo módulo, es decir, la página de error y la página de contacto. Entonces, ¿qué es un patrón para las páginas mencionadas?
Ahora, módulo compartido vs central. Tengo los siguientes artículos:
Entonces, la pregunta principal es cómo elegir decidir por los artículos que enumeré y por artículos nuevos como esos.
Las respuestas a su pregunta son subjetivas, sin embargo, hay algunas recomendaciones de documentos oficiales que puede seguir: ¿Qué tipo de módulos debo tener y cómo debo usarlos? . Si no ha leído los documentos sobre NgModule y las preguntas frecuentes, le sugiero que pase unas horas estudiándolos, las cosas serán mucho más claras (al menos lo fueron para mí :)
Estoy usando la siguiente configuración y funciona bastante bien para mí :
directives , components y pipes , solo para mantener las cosas un poco mejor organizadas. Ejemplos: filesize.pipe del archivo.pipe , click-outside.directive outside.directive , offline-status.component ...about.component , contact.component , app-toolbar.componentui.service , auth.service , auth.guard , data.service , workers.service ....user-profile.component , panel.componente, dashboard.component dashboard-sidebar.component ...player , playlist de reproducción y favorites . Si observa @angular/material2 , este sería un equivalente a su MaterialModule y muchos submódulos, como MdIconModule , MdSidenavModule , etc.Los consejos generales serían:
Para responder a sus preguntas específicas: pondría todas esas rutas en un módulo: static , public , cualquiera que sea el nombre. CsrfService - core, Logger - core o dev, HttpModule - core, solo necesita una instancia (probablemente), auth - core. No ponga servicios en compartido.
Si no puede decidir cómo/qué agrupar en una característica, cree una nueva aplicación, copie la carpeta de características específicas y debería funcionar allí también. Si no es así, tendrás que organizar mejor las cosas.