Как я могу загружать только модули в angular 8, используя ленивую загрузку - PullRequest
1 голос
/ 04 марта 2020

У меня вопрос по поводу ленивой загрузки. Использование Augury для определения моей древовидной структуры маршрутизатора.

enter image description here

app-routing.module.ts

const routes: Routes = [
  {
    path: '',
    children: [
      {
       path: 'reservation',
          loadChildren: () => import('./modules/reservations/reservations.module').then(mod => mod.ReservationsModule)
      },
      {
        path: 'add',
        loadChildren: () => import('./modules/add-autopoint/add-autopoint.module').then(mod => mod.AddAutopointModule)
      },
      {
        path: 'availability',
        loadChildren: () => import('./modules/availability/availability.module').then(mod => mod.AvailabilityModule)
      },
      {
        path: 'archive',
        loadChildren: () => import('./modules/archive/archive.module').then(mod => mod.ArchiveModule)
      },
      { path: '**', redirectTo: '/reservation', pathMatch: 'full' },
    ]
  }
];

Пример маршрутизации модуля

booking-routing.module.ts

const routes: Routes = [
  { path: '', component: ReservationComponent },
  { path: 'summary/:id', component: SummaryComponent, resolve: { summary: AtplSummaryResolver, notes: AtplNotesResolver } }
];

приложение. module.ts

@NgModule({
  declarations: [
    AppComponent,
    FilterPipe,
    LoaderComponent
  ],
  imports: [
    BrowserModule,
    AppRoutingModule,
    BrowserAnimationsModule,
    FormsModule,
    HttpClientModule,
    ReactiveFormsModule,
    SharedModule,
    NgxMatSelectSearchModule,
    FlexLayoutModule,
    AddAutopointModule,
    ArchiveModule,
    ReservationsModule,
    AvailabilityModule,
    Ng2LoadingSpinnerModule.forRoot({}),
    NavigationModule
  ],
  providers: [
    CommonService,
    AlertService,
    ListService,
    LoaderService,
    MenuService
  ],
  bootstrap: [AppComponent]
})

Нормально ли сначала загрузить эти компоненты или я что-то не так делаю?

Ответы [ 2 ]

2 голосов
/ 04 марта 2020

общие службы, компоненты, каналы ..., используемые только в модулях с отложенной загрузкой, должны быть сгруппированы в общем модуле, и этот модуль импортируется только в эти модули с отложенной загрузкой. другие компоненты, службы и другие вещи, необходимые во всем приложении (такие как службы авторизации или директивы, компоненты макета или службы ...), помещают его в основной модуль, импортированный в модуль приложения. Основной модуль (и другие модули, импортированные в модуль приложения) должен быть максимально легким.

0 голосов
/ 05 марта 2020

После удаления этих модулей:

AddAutopointModule ,

ArchiveModule ,

ReservationsModule,

AvailabilityModule

из моего app.module.ts я исправил проблему с ленивой загрузкой

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...