Ленивая загрузка и комплектующие - PullRequest
0 голосов
/ 26 августа 2018

Я перевожу свое приложение в режим отложенной загрузки, и я нашел 2 способа загрузки компонентов.

Один из них состоит из компонентов X и только одного глобального компонента.модуль (например, https://www.9lessons.info/2017/12/ionic-angular-lazy-loading-child-components.html), который мынам нужно импортировать на наших страницах. Но что произойдет, если мы просто захотим один компонент?

Это другой способ, который я видел в репозитории @ mhartington. Мы могли бы снова иметь один .module на компонент, как у нассо страницами: https://github.com/mhartington/lazyLoad2-components/blob/master/src/components/music-card/music-card.module.ts

Этот второй способ лучше первого? Какой смысл загружать все компоненты на одной странице, если мы используем отложенную загрузку?

1 Ответ

0 голосов
/ 26 августа 2018

То, что я пишу ниже, является кратким отрывком из Руководства по стилю Angular и поможет вам решить, какая у вас стратегия отложенной загрузки.

Основная идея модулей отложенной загрузки в Angular - это загрузка модуля только в том случае, еслиэто требуется.Идеальный способ реализовать это - создавать разные модули.Теперь в вашем угловом приложении обычно присутствуют модули следующих типов:

  1. App / Main / Root Module - это будет оркестратор вашегоУгловое приложение.Все модули, необходимые для начальной загрузки вашего Angular App, будут находиться в этом модуле.
  2. Общий модуль - Этот модуль будет содержать все компоненты / трубы / директивы и т. Д., который будет использоваться другими модулями в вашем Angular App.
  3. Базовый модуль - Этот модуль будет содержать все одноразовые компоненты / каналы / директивы / службыи т. д. Кроме того, эти модули должны импортироваться только один раз , и это также внутри вашего приложения / основного / корневого модуля.
  4. служебные модули - в идеале должно бытьмодуль для любой конкретной сторонней функции, которую вы используете.Это помогает поддерживать App / Main / Root Module в чистоте.Так что в идеале, если вы используете Angular Material для, например, то вы должны создать модуль для него, который импортирует все модули для всех компонентов, которые вы будете использовать в вашем Angular App, а затем экспортируйте его из этого модуля., чтобы любой модуль, который хочет использовать угловые компоненты материала, мог импортировать его и использовать его.
  5. Модули элементов - Это модули, которые в идеале должны бытьленивый груз.Угловое приложение в идеале должно быть разбито на логически разделенные элементы, и каждый из этих модулей должен содержать одну такую ​​логически разделенную функцию .Это позволяет нам лениво загружать их.

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

...