Angular поддерживает ленивую загрузку модулей. Таким образом, вы можете разделить свое приложение на части, которые загружаются только по требованию.
{
path: 'admin',
loadChildren: 'app/admin/admin.module#AdminModule',
},
См. также https://angular.io/docs/ts/latest/guide/router.html#!#asynchronous-routing
обновить
Хотя отложенная загрузка не уменьшает время загрузки, когда все требуется на стартовой странице, что, ИМХО, не имеет места почти в 100% приложений Angular2, она сокращает время начальной загрузки и откладывает время загрузки до момента, когда модуль собственно требуется. Angular также поддерживает функцию предварительной загрузки для загрузки лениво загруженных модулей до того, как они потребуются, но по-прежнему не загружает их при начальной загрузке.
Количество запросов будет больше, но объем данных, загруженных с первым запросом, будет меньше. Основная идея состоит в том, чтобы сократить время, пока пользователь не отобразит первый экран. Если приложение состоит из частей, некоторые из которых используются интенсивно, а другие редко, то обычно рекомендуется не загружать редко используемые части до тех пор, пока они не будут фактически использованы — что означает «ленивый» или «по требованию» — только когда это действительно необходимо.
Если вы хотите получить все преимущества отложенной загрузки, вам нужно подумать о своей архитектуре. Это не означает, что код должен стать более сложным. Вам просто нужно принять решение, в какой модуль вы поместите свои компоненты, директивы, сервисы.
Я не вижу здесь большой разницы, потому что вы все равно должны разделить свое приложение на разные модули (например, по функциям), даже если они не лениво загружаются.
person
Günter Zöchbauer
schedule
10.01.2017