I am implementing lazyloading, it is working fine in one component where the material is not used in that component.
In other HTML I have used angular material so I am importing angularmaterial
module into my shared module, at that time I am getting below error
BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy-loaded module, import CommonModule instead.
app.module.ts
import { NgModule, ApplicationModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { NgHttpLoaderModule } from 'ng-http-loader';
import { MatInputModule, MatFormFieldModule, } from '@angular/material';
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { NgSelectModule } from '@ng-select/ng-select';
import { SharedModule } from './_shared/shared.module';
import { RouterModule } from '@angular/router';
import { CommonModule } from '@angular/common';
@NgModule({
declarations: [
AppComponent,
],
imports: [
CommonModule,
BrowserModule,
BrowserAnimationsModule,
ApplicationModule,
FormsModule,
ReactiveFormsModule,
AppRoutingModule,
HttpClientModule,
NgHttpLoaderModule.forRoot(),
NgbModule,
SharedModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
in sharedModule:
import { NgModule } from '@angular/core';
import { ChartModule } from 'angular-highcharts';
import { DaterangepickerModule } from 'angular-2-daterangepicker';
import { FilterDataPipe } from '../_pipes/filter-data.pipe';
import { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown';
import { NgxDatetimeRangePickerModule } from 'ngx-datetime-range-picker';
import { AngularMaterialModule } from '../angular-material.module';
import { CommonModule } from '@angular/common';
@NgModule({
imports:[
DaterangepickerModule,
ChartModule,
NgMultiSelectDropDownModule,
NgxDatetimeRangePickerModule,
AngularMaterialModule,
],
declarations: [
FilterDataPipe,
],
exports: [
CommonModule,
DaterangepickerModule,
FilterDataPipe,
NgMultiSelectDropDownModule,
NgxDatetimeRangePickerModule,
AngularMaterialModule
]
})
export class SharedModule {}
in my cardsModule:
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { Cardscomponent } from './cards.component';
import { SharedModule } from '../_shared/shared.module';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
import { CardsRoutingModule } from './cards-routing.module';
import { CardDetailsComponent } from './card-details/card-details.component';
@NgModule({
imports: [
CommonModule,
SharedModule,
FormsModule,
ReactiveFormsModule,
CardsRoutingModule,
NgbModule
],
declarations: [Cardscomponent,CardDetailsComponent]
})
export class CardsModule { }
Up to cardsComponent, it is working fine when I require angular material in carddetailscomponent I am getting browser module error. Any solution, please
angular material module
import { NgModule } from '@angular/core';
import {CdkTableModule} from '@angular/cdk/table';
import { CommonModule } from '@angular/common';
import {
MatCardModule,
MatSidenavModule,
MatButtonModule,
MatToolbarModule,
MatListModule,
MatIconModule,
MatMenuModule,
MatDatepickerModule,
MatTabsModule,
MatFormFieldModule,
MatSnackBarModule,
MatInputModule,
MatChipsModule,
MatCheckboxModule,
MatSortModule,
MatStepperModule,
MatSelectModule,
MatSlideToggleModule,
MatTableModule,
MatExpansionModule,
MatTooltipModule,
MatButtonToggleModule,
MatProgressSpinnerModule,
MatDialogModule,
MatRippleModule,
MatRadioModule
} from '@angular/material';
@NgModule({
declarations: [],
imports: [
MatRadioModule,
//CommonModule,
MatCardModule,
MatSidenavModule,
MatButtonModule,
MatToolbarModule,
MatListModule,
MatIconModule,
MatMenuModule,
MatDatepickerModule,
MatTabsModule,
MatFormFieldModule,
MatSnackBarModule,
MatInputModule,
MatChipsModule,
MatCheckboxModule,
MatSortModule,
MatStepperModule,
MatSelectModule,
MatSlideToggleModule,
MatTableModule,
MatExpansionModule,
MatTooltipModule,
MatButtonToggleModule,
MatProgressSpinnerModule,
MatDialogModule,
MatRippleModule,
CdkTableModule
],
exports: [
// CommonModule,
MatRadioModule,
MatCardModule,
MatSidenavModule,
MatButtonModule,
MatToolbarModule,
MatListModule,
MatIconModule,
MatMenuModule,
MatDatepickerModule,
MatTabsModule,
MatFormFieldModule,
MatSnackBarModule,
MatInputModule,
MatChipsModule,
MatCheckboxModule,
MatSortModule,
MatStepperModule,
MatSelectModule,
MatSlideToggleModule,
MatTableModule,
MatExpansionModule,
MatTooltipModule,
MatButtonToggleModule,
MatProgressSpinnerModule,
MatDialogModule,
MatRippleModule,
CdkTableModule
]
})
export class AngularMaterialModule { }