事实上,除了主模块,我的应用程序中有2个模块: - 名为Global.module的模块:包含可共享模块; - 另一个名为Pages.modules的模块包含我的页面; 我希望pages.modules可以看到global.module中的模块; 我遇到的问题是页面模块无法检索Global.module中的现有模块,请参阅我的源代码;我也尝试导出:[NgaModule.forRoot()]在模块上共享,但似乎导出不支持ModuleWithProviders
Global.module
export const MODULES=[ BrowserModule,
BrowserModule,
FormsModule,
HttpModule,
NavbarModule,
FooterModule,
SidebarModule,
RouterModule,
LbdModule,ModalModule, BrowserAnimationsModule, ToastModule,NgbModule,
FroalaEditorModule,
FroalaViewModule,
AceEditorModule,UiSwitchModule,TooltipModule,ChartsModule]
export const SERVICES=[
RouteGuard,BsModalService,LynkService,SharedService,Data,{provide: ToastOptions, useClass: CustomOption}, {
provide: Http,
useFactory: interceptorFactory,
deps: [XHRBackend, RequestOptions, ServerUrlInterceptorService]
} ,ServerUrlInterceptorService
]
@NgModule({
exports: [
...MODULES
]
})
export class GlobalModule {
static forRoot(): ModuleWithProviders {
return <ModuleWithProviders> {
ngModule: GlobalModule,
providers: [
...SERVICES
],
};
}
}
Pages.module
@NgModule({
imports: [CommonModule, routing,FormsModule,GlobalModule],
declarations: [
HomeComponent,
DefaultComponent,
],
})
export class PagesModule {
}
App.module
@NgModule({
imports: [
....
,GlobalModule.forRoot()],
declarations: [
...
],
})
export class AppModule {
}
答案 0 :(得分:0)
您无法导出之前未导入的模块。
您必须添加
imports: [ ... MODULES ]
到您的GlobalModule。