(Referencia: https://angular.io/guide/architectu...)
Las aplicaiones en Angular son modulares y angular tiene su propio sistema de modularidad llamado NgModules.
Los NgModules son todo un mundo. Está es una página introductoria a los NgModules, pero en la nota NgModules, se puede cubre el tema en profundidad. (Otra referencia: NgModules)
Cada aplicación en Angular tiene al menos una clase de tipo NgModule, el módulo root que convencionalmente se llama AppModule. (Referencia:the root module)
Mientras el módulo módulo root podría ser el único módulo en una aplicación pequeña, la mayoría de aplicaciones tienen muchos más módulos de funciones, siendo cada uno un bloque cohesivo de código dedicado a un dominio de una aplicación, un flujo de trabajo o un conjunto de capacidades relacionadas.
Los decoradores son funciones que modifican las clases de JavaScript. Angular tiene muchos decoradores que adjuntan metadatos a clases de modo que se sepa lo que esas clases significan y como deberían trabajar. (Más sobre decoradores aquí o en la nota de esta página dedicada a ellos).
NgModule es una función de tipo decorador que recibe un objeto de tipo metadato cuyas propiedades describen el módulo. Las propiedades más importantes son:
- declarations - son las clases de tipo vista que pertenecen a este módulo. Angular tiene tres tipos de clases: componentes (components), directivas (directives) y conductos (pipes).
- exports - es el subconjunto de declaraciones que deberían ser visibles y utilizables en las plantillas de los componentes (templates) de otros módulos.
- imports - son otros módulos cuyas clases exportadas son requeridas por las plantillas de los componentes declarados en este módulo.
- providers - son creadores de servicios (services) con los que este módulo contribuye a la colección global de servicios; se vuelven accesibles en todas partes de la aplicación.
- bootstrap - es la vista principal de la aplicación, llamada el componente root , que aloja todas las demás vistas de la aplicación. Solamente el módulo root debería establecer esta propiedad bootstrap.
A continuación podemos ver un módulo de tipo root simple:
Ejecute una aplicación al bootstrapear su módulo root. Durante el desarrollo es probable que usted bootstrapee el AppModule en un archivo main.ts como el siguiente:
Comentarios
Publicar un comentario