Уменьшает ли ленивая загрузка Angular размер пакета? - PullRequest
0 голосов
/ 29 ноября 2018

Я новичок в угловой.Я хотел бы знать больше о ленивой загрузке.Согласно определению, ленивые загрузочные модули помогают нам уменьшить время запуска.Итак, мой вопрос, предположим, что мое приложение имеет 50 компонентов.После сборки с производством он генерирует vendor.js с 900 КБ.И если я ленивый загрузить 10 компонентов среди них, который генерирует файл чанка "1.chunk.js" с 100 КБ.

Итак, в этом случае размер пакета vendor.js уменьшается с 900 КБ до 800 КБ?Если нет, то как ленивые загрузочные модули помогают нам уменьшить время запуска?

Ответы [ 3 ]

0 голосов
/ 29 ноября 2018

Ленивая загрузка, как следует из названия, загружает что-то только тогда, когда это запрашивается (то есть, лениво)

При этом, если в вашем приложении реализована отложенная загрузка, приложение будет загружаться только с соответствующими модулями.которые требуются для загрузки вашего приложения.

По сути, это не загрузка модулей, которые изначально не требуются для загрузки приложения.

Так вот, это помогает ускоритьВремя загрузки приложения.

0 голосов
/ 29 ноября 2018

Ленивая загрузка в основном делает это разбить ваши компоненты на модули.поэтому в маршрутизации вам просто нужно настроить основные маршруты и загрузить модули как дочерние маршруты.

это разбивает ваши 100 компонентов на 10 модулей, каждый из которых имеет 10 компонентов, поэтому для каждого из них у вас будут отдельные

module-ngfactory.js

файлы.поэтому, если вы включите эти 100 файлов в один модуль (без отложенной загрузки), у вас будет один файл module-ngfactory.js, который больше этого размера.

, и эта загрузка выполняется по требованию и только по запросу.таким образом, загрузка идет быстро и вызывающе.

Лучший способ ускорить угловую загрузку - это представить сборки AOT.когда вы используете

ng-s 

, это перенесет код и сообщит вам статус переноса.но все данные, включая файлы TS, будут отправлены в браузер для отладки.так что трансляция в JS происходит в браузере.это очень медленно.

с помощью

ng-s --aot 

AOT - Перед переносом времени будут генерироваться файлы js и отправляться в браузер.так что нет никакой браузерной транспиляции.это очень очень быстро чем использование JIT

0 голосов
/ 29 ноября 2018

Нет, функция отложенной загрузки Angular не уменьшает размер пакета, он загружает только часть пакета (по запросу) -AKA chunk - вместо полной загрузки .Так что для вашего случая размер пакета не уменьшится с 900 KB (если вы соберете размеры чанков, так как после реализации отложенной загрузки будет загружаться несколько чанков) ,но также не загружает 900 KB сразу.

...