Разделяет ли NgModules время сборки - PullRequest
0 голосов
/ 09 июля 2019

Допустим, у нас есть большой NgModule SharedModule, который экспортирует множество компонентов, которые необходимы в нескольких компонентах. При импорте SharedModule в функциональный модуль часто возникают накладные расходы, поскольку импортируются все общие компоненты, а не только те, которые необходимы. Уменьшает ли разбиение SharedModule время сборки / компиляции? Есть ли какие-то преимущества, если разбить его на более мелкие модули, кроме, возможно, более удобочитаемого кода?

Большое спасибо за вашу помощь!

Ответы [ 2 ]

2 голосов
/ 09 июля 2019

С официального сайта angular.io :

Корневой модуль - это все, что вам нужно в простом приложении с несколькими компонентами.По мере роста приложения вы превращаете корневой модуль в функциональные модули, представляющие наборы связанных функций.Затем вы импортируете эти модули в корневой модуль.

и

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

Нет ничего относительно уменьшения времени сборки / компиляции, поэтому я думаю, что это имеет смысл

Для больших приложений с большим количеством маршрутов рассмотрите отложенная загрузка - шаблон проектирования, который загружает NgModules по мере необходимости.

1 голос
/ 09 июля 2019

Вы можете реализовать отложенную загрузку, которая сократит время загрузки вашего приложения Разделение функциональности на модули уменьшит время загрузки приложения, вы можете реализовать отложенную загрузку, ваше приложение будет загружаться на стороне клиента по требованию, как если бы у вас было 5 модулейПользователь хочет использовать модуль № 5, тогда этот единственный модуль будет загружаться на клиенте.другие 4 модуля не будут загружены.Браузер сначала загружает ваше приложение на стороне клиента, а затем извлекается. Размер вашего 5 модуля составляет 5 МБ, затем после ленивой загрузки размер вашего приложения будет разным.Размер модуля будет соответствовать функциональности.

Я не уверен, что время компиляции уменьшится после модульного подхода.но время загрузки вашего приложения определенно сократится, что важно,

ваш код будет хорошо управляться и читаться.будет в соответствии с лучшей угловой практикой

модульный подход уменьшит сложность кода

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

...