我刚刚将Angular 9应用程序拆分为2个模块,以优化加载时间。不幸的是,编译产生的块很小,似乎只包含我的功能模块和路由器的代码。该模块中包含的所有组件仍在主js文件中。
这是我所做的:
AppModule
@NgModule({
declarations: [
//List of components (21)
],
imports: [
BrowserModule,
BrowserAnimationsModule, // required animations module
HttpClientModule,
AppRoutingModule,
SharedModule,
ConfigModule // My feature Module
],
providers: [
AuthGuard,
DpGuard,
AITIGuard,
ApiService,
StatusSocketService,
VideoSocketService,
Title
],
bootstrap: [AppComponent]
})
export class AppModule { }
SharedModule:
@NgModule({
declarations: [
// List of shared components (7)
],
imports: [
CommonModule,
FormsModule,
NgbModule,
TreeModule,
TranslateModule.forChild()
],
exports: [
PasswordStrengthBarComponent,
CameraslistComponent,
VideoComponent,
MaskdrawerComponent,
FilterselectorComponent,
TranslateModule,
NgbModule,
FormsModule,
TreeModule,
ZonedrawerComponent
]
})
export class SharedModule { }
功能(ConfigModule)模块
@NgModule({
declarations: [
//LIST OF FEATURE COMPONENTS (47)
],
imports: [
SharedModule,
CommonModule,
ConfigRoutingModule,
HttpClientModule
]
})
export class ConfigModule { }
功能部件模块通过:延迟加载到App的路由中>
{ path: 'config', canActivate: [AuthGuard], loadChildren:() => import('./config/config.module').then(m => m.ConfigModule) }
最后,功能模块定义自己的路线,如下所示:
const routes: Routes = [{ path: '', canActivate: [AuthGuard], children : [ { path: '', component:MenuconfigComponent }, { path: 'system',component: ConfigSystemComponent}, ... , ] }];
我想念什么?
我期望块包含功能模块中包含的所有内容,而不仅仅是一小部分代码。
编译结果为:
我会理解,由于所有依赖性,main应该更大,但是它不应该包含功能模块的组件。
感谢您的帮助
我刚刚将Angular 9应用程序拆分为2个模块,以优化加载时间。不幸的是,编译产生的块很小,似乎只包含我的代码...
@@ MikeOne在他的评论中是正确的,我不应该在我的主模块中包括我的功能模块: