У меня есть приложение ionic 3, которое загружается медленно (не использует app.module), а компонент используется на нескольких страницах. Я никогда не проверял шаблон загрузки, поэтому я запустил экземпляр dev для проверки.
Вкладка "Источники"
Если вы посмотрите на вкладку Sources
в инструментах разработки, для отладочной сборки (с исходными картами) вы увидите, что в начальный момент времени общий компонент вообще не загружается. Затем, когда я попадаю на страницу, которая нуждается в компоненте, он загружается в стандартный каталог components
(во всяком случае, при использовании отладочной сборки). Нажатие на вторую страницу, которая также использует этот компонент, не загружает второй его экземпляр или что-либо еще (на вкладке Sources
).
Вкладка "Сеть"
Если вы выполняете то же действие, но смотрите на вкладку Network
, это не так ясно. После того, как вы нажали первую страницу, которая использует общий компонент, в моем случае был запрошен файл 11.js
. Глядя на этот файл, он явно содержал машинописный текст общего компонента. Затем я зашел на вторую страницу, которая использует этот компонент, и (в моем случае) 18.js
был загружен, и на нем тоже была машинопись общего компонента.
Исходя из этого, у меня сложилось впечатление, что отладочная сборка загружает машинопись общего компонента несколько раз (по одному разу на страницу, которая в этом нуждается). Не уверен, что билд или какие-то другие факторы могут изменить этот результат.