Сценарий
Мы случайно импортировали наш ленивый угловой модуль в модуль приложения.
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
доступ к ним.