момент:
- HttpClientModule прописан в imports HeroModule, т.к. в HerоModule используется некий сервис, который использует HttpClient
- Перенес HttpClientModule из HeroModule imports в AppModuleImports - без всякой ошибки, все работает. (при переносе FormsModule - ошибка)
Сравнил размеры файлов.
в первом случае, когда HttpClientModule импортируется в HeroModule
main.js ~248kb, hero.chunk.js ~66kb
если HttpClientModule импортируется в AppModule
main.js ~264kb, hero.chunk.js ~50kb
Вывод один - код angular-модуля напишется в тот собственный модуль, который просит его в своем imports)
Возникает другой вопрос. Если будет много модулей типа HeroModule, которым необходим функционал FormsModule - то в каждый чанк этих модулей впихнется код FormsModule?)))
FormsModule @angular/forms
HttpClientModule @angular/common/http
AppModule app/app.module
HeroModule app/hero/hero.module
Это не точно но вроде если в приложении за импортишь и птом в модуле, то в файлах он будет только в одном месте в файле вендоров, но опять же не точно, както не важно это, с каждым релизом они там что то улудшают поведение может менятся
Обсуждают сегодня