Сценарий

Мы случайно импортировали наш ленивый угловой модуль в модуль приложения.

import { BooksModule } from './books/books.module';

Анализ

Это приведет к тонким ошибкам, которые трудно диагностировать. Лениво загруженные модули не должны никуда импортироваться.

Поскольку приложение будет извлекать эти модули ленивым способом, единственное место, где оно может ссылаться на них, — это путь Angular Router, отвечающий за загрузку этого модуля:

path: 'books',
loadChildren: './books/books.module#BooksModule'

Сводка модулей

  • BrowserModule должен быть импортирован в AppModule и НЕ должен импортироваться где-либо еще.
  • CommonModule следует импортировать в FeatureModule (модуль функций — это любой модуль, который не является AppModule ), чтобы модуль мог использовать директивы Angular, такие как *ngFor и т. д.
  • BrowserModule реэкспортирует функции CommonModule, предоставляя AppModule доступ к ним.