在angular(2/4/6)应用程序中,如果我们在应用程序模块中导入不必要的模块,则会降低应用程序的速度。
对应用程序的性能有影响吗?
@NgModule({
imports: [
BrowserModule.withServerTransition({ appId: 'myId' }),
FormsModule,
AppRoutingModule,
HttpClientModule,
HttpClientInMemoryWebApiModule,
AaModule,
BbModule
],
declarations: [
AppComponent,
AdminComponent
],
providers: [ ],
bootstrap: [ AppComponent ]
})
答案 0 :(得分:3)
Yomateo正确地说,在执行构建时,摇树将照顾未使用的模块/模块操作员。
摇树器从上到下遍历依赖关系图,并摇晃掉树中的枯叶等未使用的代码
然而,执行构建所花费的时间有所不同,因为构建包含更多模块的应用需要花费更长的时间,即使它们从未使用过,并且如果导入了更多的模块,构建规模也会更大。 / p>
因此,回答您的问题不会影响性能,但是会影响构建时间和构建大小。
答案 1 :(得分:2)
导入不必要的模块会大大增加应用程序的大小。 它也适用于您可能要使用的任何角度模块, 包括第三方。
答案 2 :(得分:2)
如果您导入模块而从不使用它,则它将被遗留下来。这是编译器提供的“摇树”的最大优点之一。也称为“死代码”。
另一方面,从模块中引用不必要的代码会增加您的分发大小(或您称其为膨胀),并且还要求浏览器将此代码读入内存。