Hello
Seems there is an issue with production build in Angular 5 (+Angular/cli 1.5):
In order to reduce bundle size we imported only required components (as per KB instructions).
So our feature module looks as follows:
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { EJ_SCHEDULE_COMPONENTS } from 'ej-angular2/src/ej/schedule.component'
import { EJ_MENU_COMPONENTS } from 'ej-angular2/src/ej/menu.component'
import { EJ_TIMEPICKER_COMPONENTS } from 'ej-angular2/src/ej/timepicker.component'
import { MyMaterialAllModule } from '../shared/ang-materials.all.module'
import { SharedComponentsModule } from '../shared.components/sc.module'
import { NewSfPlannerComponent } from './components/new-planner-component'
import { Dlg_MainSched_EditApp } from './components/dlg-termin.component'
import { Dlg_MainSched_ViewApp } from './components/dlg-termin-view.component'
import { Dlg_DeleteAppointment } from './components/dlg-termin-delete.component'
const COMPONENTS = [ NewSfPlannerComponent, Dlg_MainSched_EditApp, Dlg_MainSched_ViewApp, Dlg_DeleteAppointment,
EJ_SCHEDULE_COMPONENTS, EJ_MENU_COMPONENTS, EJ_TIMEPICKER_COMPONENTS]
@NgModule({
imports: [ CommonModule, MyMaterialAllModule, SharedComponentsModule],
declarations: [COMPONENTS],
exports: [COMPONENTS],
providers: [],
entryComponents: [Dlg_MainSched_EditApp, Dlg_MainSched_ViewApp, Dlg_DeleteAppointment ]
})
export class SyncfusionPlannerModule { }
ng serve - works fine
ng build - works fine
ng build -- prod fails with following error:
ERROR in Error: Type TimePickerComponent in /home/wojtek/Desktop/sewebmain/node_modules/ej-angular2/src/ej/timepicker.component.d.ts is part of the declarations of 2 modules: SyncfusionPlannerModule in /home/wojtek/Desktop/sewebmain/src/app/planner-syncfusion/syncfusion-planner.module.ts and EJAngular2Module in /home/wojtek/Desktop/sewebmain/node_modules/ej-angular2/src/index.d.ts! Please consider moving TimePickerComponent in /home/wojtek/Desktop/sewebmain/node_modules/ej-angular2/src/ej/timepicker.component.d.ts to a higher module that imports SyncfusionPlannerModule in /home/wojtek/Desktop/sewebmain/src/app/planner-syncfusion/syncfusion-planner.module.ts and EJAngular2Module in /home/wojtek/Desktop/sewebmain/node_modules/ej-angular2/src/index.d.ts. You can also create a new NgModule that exports and includes TimePickerComponent in /home/wojtek/Desktop/sewebmain/node_modules/ej-angular2/src/ej/timepicker.component.d.ts then import that NgModule in SyncfusionPlannerModule in /home/wojtek/Desktop/sewebmain/src/app/planner-syncfusion/syncfusion-planner.module.ts and EJAngular2Module in /home/wojtek/Desktop/sewebmain/node_modules/ej-angular2/src/index.d.ts.
|
import { EJComponents } from 'ej-angular2';
(and)
import { EJ_TIMEPICKER_COMPONENTS } from 'ej-angular2/src/ej/timepicker.component'; |
|
import { EJComponents } from 'ej-angular2/src/ej/core';
import { EJ_TIMEPICKER_COMPONENTS } from 'ej-angular2/src/ej/timepicker.component'; |