Замедляет ли импорт ненужных модулей в AppModule приложение Angular 2?
В угловом (2/4/6) приложении, если мы импортируем ненужные модули в модуль приложения, это замедлит работу приложения.
Влияет ли это на производительность приложения?
@NgModule({
imports: [
BrowserModule.withServerTransition({ appId: 'myId' }),
FormsModule,
AppRoutingModule,
HttpClientModule,
HttpClientInMemoryWebApiModule,
AaModule,
BbModule
],
declarations: [
AppComponent,
AdminComponent
],
providers: [ ],
bootstrap: [ AppComponent ]
})
3 ответа
Yomateo правильно сказал, что встряхивание дерева позаботится о неиспользуемых модулях / операторах модулей при выполнении сборки.
Шейкер дерева просматривает граф зависимостей сверху вниз и вытряхивает неиспользуемый код, как мертвые листья в дереве
Однако существует разница во времени, необходимом для выполнения сборки, так как сборка приложений с включением большего количества модулей занимает больше времени, даже если они никогда не используются, а размер сборки увеличивается при импорте большего количества модулей.
Таким образом, ответ на ваш вопрос не повлияет на производительность, однако будет зависеть время сборки и размер сборки.
Если вы импортируете модуль и никогда не используете его... он останется позади. Это одно из самых больших преимуществ "тряски деревьев", которое обеспечивает компилятор. Также известный как "мертвый код".
Ссылка на ненужный код из модулей, с другой стороны, увеличит (или раздует, как вы его называете) размер вашего дистрибутива, а также потребует, чтобы браузер считал этот код в память.
Излишний импорт модуля значительно увеличивает размер вашего приложения. Это также относится к любому угловому модулю, который вы можете использовать, включая сторонние.