происходит ли tree-shaking? Я имею в виду, feature module же не импортирует все имеющиеся компоненты в shared module, а только те, что непосредственно задействуются?
Вопрос мб странный и вроде бы вопрос очевидный, но ленивая загрузка модулей не дает мне покоя, начал сомневаться, что правильно понимаю как конкретно это работает...
все импортирует
Да не, фигня какая-то. Я ж его в нескольких разных модулях импорчу. Как это сказывается на размере бандла?
если ты импортишь модуль B в A - A берет все из модуля B. В том числе и в бандл
для полного тришейкинга используют подход компонент=модуль. Чтобы модуль получал только то, что ему нужно
* если модуль встречался в нескольких лейзи(но не попал в app), то он вроде должен попадать в отдельный файл, который будет грузится при прогрузке любого из лейзи модулей. * Если он попал только в один лейзи модуль - то только в нем и будет грузиться * Если в app - то он грузится при загрузке приложения
То есть лучше разделить на отдельные модули практически все, тогда бандл будет максимально оптимален? Я чет думал, что ангуляр все это под капотом делает
То есть он полностью прогрузится при первой загрузки лейзи, а дальше грузится не будет и будет использовать имеющийся? Но в этом случае получается, что, если в shared module есть не используемые компоненты (легаси или что-то, что используется в мобильной версии, или в админской версии сайта и тп), то оно все равно будет включаться в размер бандла.
да под капотом ангуляр не умеет это делать, думаю это накладно с точки зрения времени сборки
Обсуждают сегодня