import { CommonModule } from '@angular/common' ; import { NgModule } from '@angular/core' ; import { FlexLayoutModule } from '@angular/flex-layout' ; import { FormsModule , ReactiveFormsModule } from '@angular/forms' ; import { RouterModule } from '@angular/router' ; import { StoreModule } from '@ngrx/store' ; import { TranslateModule } from '@ngx-translate/core' ; import { MatButtonModule , MatCardModule , MatDialogModule , MatIconModule , MatInputModule , MatListModule , MatProgressSpinnerModule , MatRippleModule , MatSelectModule , MatSidenavModule , MatTabsModule , MatToolbarModule , MatTooltipModule , } from '@angular/material' ; const MaterialModules = [ MatButtonModule , MatCardModule , MatDialogModule , MatIconModule , MatInputModule , MatListModule , MatProgressSpinnerModule , MatRippleModule , MatSidenavModule , MatTabsModule , MatToolbarModule , MatTooltipModule , MatSelectModule , ] ; /**
 * this module should be imported in every sub-modules
 * you can define here the modules, components, pipes that you want to re-use all over your app
 */ export const modules = [ CommonModule , FormsModule , ReactiveFormsModule , RouterModule , FlexLayoutModule , StoreModule , TranslateModule , ... MaterialModules , ] ; export const declarations = [ ] ; @ NgModule ( { imports : modules , exports : [ ... modules , ... declarations ] , declarations , } ) export class SharedModule { }