Нет конкретного способа уменьшить размер. Одной из идей является LazyLoading ваших модулей, чтобы уменьшить начальный кусок.
Еще один способ - проанализировать блок с помощью анализатора пакетов веб-пакетов.
В анализаторе пакетов вы можете лучше понять, что оптимизировать и как. Сгенерируйте JSON для производственной сборки (--aot --prod
) и выполните анализ с помощью анализатора пакетов.
Кроме того, если вы не обновили все пакеты до последней версии, встряхивание дерева может не работать, поэтому если вы импортируете что-то вроде:
import {Observable} from `rxjs/Rx`
Это может привести к объединению всей библиотеки, возможно, вам придется выполнить определенный импорт, например
import {Observable} from `rxjs/Observable`
Если тряска дерева есть или нет, вероятно, это будет очевидно, если вы изучите свой пакет в анализаторе.
Даже при встряхивании дерева некоторые зависимости, такие как momenjs , могут быть громоздкими, поскольку они не являются модульными, в таких сценариях может помочь переход на модульные альтернативы.
Существует также source-map-explorer , который уже упоминается в Angular docs