Модуль

NgModule - одна из первых базовых структур, с которыми вы сталкиваетесь при кодировании приложения с помощью Angular, но она также и самая сложная из-за разных масштабов.

Каждое приложение Angular имеет корневой модуль с именем AppModule, который обеспечивает механизм запуска приложения.

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

NgModules - это разделяемые (независимые) блоки в приложениях Angular. У нас есть разные типы модулей:

  • система (Маршрутизатор и т. д.)
  • другие модули
  • нестандартные модули
  • сторонние модули (ngrx, rxjs и т. д.).

Модули в Angular могут загружаться лениво, что означает, что они загружаются по мере необходимости, а не всегда! Ленивая загрузка значительно улучшает производительность приложения Angular.

В документации по Angular есть FAQ по NgModules.

Составная часть

Компонент управляет фрагментом экрана, который называется представлением.

Это самый простой строительный блок пользовательского интерфейса в приложении Angular. Это директива со специальным декоратором (@Component) и шаблоном.

Декоратор компонентов позволяет вам пометить класс как компонент Angular и предоставить дополнительные метаданные, которые определяют, как компонент должен обрабатываться, создаваться и использоваться во время выполнения.

Модуль против Компонент

Модуль можно рассматривать как набор компонентов, директив, служб, каналов, помощников и т. д.

Каждый компонент может использовать другие компоненты, которые объявлены в том же модуле. Чтобы использовать компоненты, объявленные в других модулях, их необходимо экспортировать из этого модуля, а модуль необходимо импортировать в наш модуль там, где нам нужна эта функциональность.

Один из многих модулей объединяется в Приложение.

Кончик:

Организуйте свой код в:

  • отдельные функциональные модули,
  • умные / немые многоразовые компоненты

помогает в управлении разработкой сложных приложений.

Для тех, кто хочет более подробных объяснений, есть отличный пост на Toptal, посмотрите его здесь.