This section contains an extremely condensed explanation of the architecture of Angular applications. In the sections that follow, we will review most of the concepts in more detail.
At the highest level, Angular applications are composed of modules called NgModules. Each of these modules represents a separate compilation context for application components. Usually, Angular applications have one module per feature or per group of features; the decomposition is left to the discretion of the developers.
Modules are very useful for ensuring the clean structure of your applications and also to support lazy loading for certain features (among other benefits). By leveraging Angular's lazy loading support, ...