import { NgModule, ModuleWithProviders } from '@angular/core'; import { CommonModule } from '@angular/common'; import { ReactiveFormsModule, FormsModule } from '@angular/forms'; import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http'; import { RouterModule } from '@angular/router'; import { AngularWebStorageModule } from 'angular-web-storage'; import { NgZorroAntdExtraModule } from 'ng-zorro-antd-extra'; import { TranslateModule } from '@ngx-translate/core'; import { CountdownModule } from 'ngx-countdown'; import { DownFileDirective } from './directives/down-file.directive'; import { ImageDirective } from './directives/image.directive'; import { FixedBtnsDirective } from './directives/fixed-btns.directive'; import { ErrorCollectComponent } from './directives/error-collect.directive'; import { MomentDatePipe } from './pipes/moment-date.pipe'; import { CNCurrencyPipe } from './pipes/cn-currency.pipe'; import { KeysPipe } from './pipes/keys.pipe'; import { YNPipe } from './pipes/yn.pipe'; import { ModalHelper } from './helper/modal.helper'; import { shared_entry_components, shared_components } from './components/index'; const DIRECTIVES = [ DownFileDirective, ImageDirective, FixedBtnsDirective, ErrorCollectComponent]; const PIPES = [MomentDatePipe, CNCurrencyPipe, KeysPipe, YNPipe]; const HELPERS = [ ModalHelper ]; // region: zorro modules import { // LoggerModule, // NzLocaleModule, NzButtonModule, NzAlertModule, NzBadgeModule, // NzCalendarModule, NzCascaderModule, NzCheckboxModule, NzDatePickerModule, NzFormModule, NzInputModule, NzInputNumberModule, NzGridModule, NzMessageModule, NzModalModule, NzNotificationModule, NzPaginationModule, NzPopconfirmModule, NzPopoverModule, NzRadioModule, NzRateModule, NzSelectModule, NzSpinModule, NzSliderModule, NzSwitchModule, NzProgressModule, NzTableModule, NzTabsModule, NzTagModule, NzTimePickerModule, NzUtilModule, NzStepsModule, NzDropDownModule, NzMenuModule, NzBreadCrumbModule, NzLayoutModule, NzRootModule, NzCarouselModule, // NzCardModule, NzCollapseModule, NzTimelineModule, NzToolTipModule, // NzBackTopModule, // NzAffixModule, // NzAnchorModule, NzAvatarModule, // SERVICES NzNotificationService, NzMessageService } from 'ng-zorro-antd'; const ZORROMODULES = [ // LoggerModule, // NzLocaleModule, NzButtonModule, NzAlertModule, NzBadgeModule, // NzCalendarModule, NzCascaderModule, NzCheckboxModule, NzDatePickerModule, NzFormModule, NzInputModule, NzInputNumberModule, NzGridModule, NzMessageModule, NzModalModule, NzNotificationModule, NzPaginationModule, NzPopconfirmModule, NzPopoverModule, NzRadioModule, NzRateModule, NzSelectModule, NzSpinModule, NzSliderModule, NzSwitchModule, NzProgressModule, NzTableModule, NzTabsModule, NzTagModule, NzTimePickerModule, NzUtilModule, NzStepsModule, NzDropDownModule, NzMenuModule, NzBreadCrumbModule, NzLayoutModule, NzRootModule, NzCarouselModule, // NzCardModule, NzCollapseModule, NzTimelineModule, NzToolTipModule, // NzBackTopModule, // NzAffixModule, // NzAnchorModule, NzAvatarModule ]; // endregion @NgModule({ imports: [ CommonModule, FormsModule, RouterModule, ReactiveFormsModule, HttpClientModule, ...ZORROMODULES, NgZorroAntdExtraModule.forRoot(), // 第三方 CountdownModule, AngularWebStorageModule ], declarations: [...shared_components, ...DIRECTIVES, ...PIPES], providers: [ ...HELPERS ], entryComponents: [ ...shared_entry_components ], exports: [ CommonModule, FormsModule, ReactiveFormsModule, RouterModule, ...ZORROMODULES, NgZorroAntdExtraModule, // 第三方 AngularWebStorageModule, CountdownModule, // 多语言 TranslateModule, // 业务级 ...shared_components, ...DIRECTIVES, ...PIPES ] }) export class SharedModule { static forRoot(): ModuleWithProviders { return { ngModule: SharedModule, providers: [ // Services NzNotificationService, NzMessageService ] }; } }