Это описательный вопрос.Я прочитал документы, и у меня возникли некоторые концептуальные проблемы: -
1) Требуется ли для разделения приложения (для улучшения быстрой загрузки, пакетирования и производительности) реализация с отложенной загрузкой?
2) Как язагружаю компонент, как показано ниже: -
const componentRef = this.componentFactoryResolver.resolveComponentFactory(cmptName).create(this.injector);
this.appRef.attachView(componentRef.hostView);
const domElem = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;
document.querySelector('.mydynamicDiv').appendChild(domElem);
При вызове таких компонентов, как этот, по щелчку на разных компонентах необходимо разделить приложение на несколько модулей (хранение соответствующих компонентов в отдельном модуле).В настоящее время в приложении есть только один app.module.ts
и app.routing.ts
.Делает ли это разбиение на модули для повышения производительности.Как?
3) Нужно ли нам реализовать маршрутизацию с отложенной загрузкой, а также в routing.ts
.
{
path: '',
component: MainLayoutComponent,
children: [
{ path: '', redirectTo: 'login', pathMatch: 'full' },
{ path: 'login', component: PrgLoginComponent },
{ path: 'login/:token/:id', component: PrgLoginComponent },
{ path: 'calendar', loadChildren: './prg-calendar/prg-calendar.module#PrgCalendarModule', canActivate: [PrgAuthGuardService] },
{ path: 'home', loadChildren: './prg-home/prg-home.module#PrgHomeModule', canActivate: [PrgAuthGuardService] }
]
}
Однако, необходимо ли реализовать реализацию с маршрутизацией с отложенной загрузкой, как описано выше, так как яникогда не будет маршрутизировать на такие модули, как calendar
выше using route
?
Таким образом, только разделение приложения на несколько модулей с отложенной маршрутизацией (когда к некоторым модулям никогда не будут обращаться через маршрутизацию, но они будут напрямуюназывается как указано выше в пункте 2). Это улучшит производительность и уменьшит размер пакета .?
Учитывая вышеизложенный сценарий, я должен разбить свое приложение только на несколько модулей.Или для достижения цели необходима ленивая загрузка с использованием loadchildren
.?
Примечание: - Я хочу изменить маршрут для своего приложения, как при первой загрузке приложения.хотите сохранить URL-адрес как - www.abc.com/home
, т.е. /home
будет направлять только для каждого просмотра.
Любое предложение приветствуется?