Modules
If you are familiar with composite application blocks in other UI technologies, then you may notice that Angular modules are similar in that they share the notion of enabling application-level modularity.
Conceptually, Angular modules are simple containers. Every part of your application, such as components, directives, and pipes, must be registered as part of a module. You should think about modules as a set of logical containers in which you structure features and code.
There are numerous approaches to deciding how to modularize apps, and there is no single approach to this question. Many concerns can affect this decision: security, lazy loading, varied packaging, and feature encapsulation, to name a few.
Note
You can read the Angular team's recommended modularization strategies here:https://angular.io/guide/module-types
Let's review the auto-generated AppModule
 module:
import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { AppComponent...