In this tutorail, we will learn about ngModules in angular.
What is NgModule?
NgModules or Modules are basically building block on angular applications.
Angular libraires such as RouterModule, HttpClientModule and FormsModule are NgModules.
Each Angular Application must have one root module which is called AppModule
We can also use third party libraries like Material design which are available as NgModules.
NgModules consolidate components, directives and pipes into one block.
In Angular, every component, module, directives or pipes is basically class.
So, basically, ngModule is a class marked by the @NgModule decorator
Decalration declares components, directives, and pipes.
Decalration are to make components,directives, pipes from the current module avialble to other directives in the current module.
Imports makes the exported declaration of other modules avaiavle in current module
Exports modules used when we are going to use diffrent feature modules, suppose we have large application which have many modules like admin modules, user module, so in this case instead of having one root module, we can have seprated module for every features
Now imagine a scenerio where we have one method in user module which we want to use in admin module, then we need to use exports for decalring component,pipes or directives
So, bascially exports usefull for cross communication between the modules
Providers is basically used for injecting services, so whenever we need to use any services in entire app we can inject it to root module inside providers
Bootstrap atribute basically when our application load first time then we need to provide first component or root component,
An entry compinent is any component that Angular loads imperatively, means you're not refrecning it in the template by type
EntryComponents are basically those component which are used by routing