разница между импортом модулей и маршрутов в модуле приложения или только в других модулях?

#angular #routes

Вопрос:

обычно я бы создал приложение с модульным дизайном, создавая различные модули и импортируя их в свой модуль приложения и объявляя их в своем app-routing.module .

 const routes: Routes = [
    {
        path: 'patients', canActivate:[AuthGuard], loadChildren: () => import('../app/modules/patients/patients.module').then(m => m.PatientsModule)
    },
    {
        path: 'menu', canActivate:[AuthGuard], loadChildren:() => import('../app/modules/menu/menus.module').then(m => m.MenusModule)
    },
    {
        path: 'login', loadChildren: () => import('../app/modules/login/login.module').then(m => m.UsersLoginModule)
    }
];
 

и после в этих модулях это маршруты.

 const routes: Routes = [
    {
        path: 'test',
        component: TestComponent
    }
];
 

Что-то в этом роде, но я только что узнал, что мне это не нужно, что я мог бы просто объявить маршруты напрямую, LoginModule например.

 const routes: Routes = [
    {
        path: 'login/test',
        component: TestComponent
    }
];
 

Имеет ли это какое-либо значение или имеет какую-либо выгоду, если я сделаю loadChildren это в своем app-routing.module ?

Комментарии:

1. ДА. Разделение их позволяет Angular лениво загружать каждый модуль. Это повышает производительность большинства приложений, загружая ресурсы только по мере необходимости, вместо предварительной загрузки всего, когда ваши посетители приходят на ваш сайт.

2. @daddygames но мой вопрос в том, должен ли я делать loadChildren это в своем приложении — routing.module или просто создавать маршруты в каждом модуле?

3. loadChildren это ленивая загрузка. Сохраните это app-routing.module и определите свои маршруты внутри каждого подмодуля.