Javascript 在AppModule中导入不必要的模块是否会降低Angular 2应用程序的速度?

Javascript 在AppModule中导入不必要的模块是否会降低Angular 2应用程序的速度?,javascript,angular,angular2-modules,Javascript,Angular,Angular2 Modules,在angular(2/4/6)应用程序中,如果我们在应用程序模块中导入不必要的模块,则会降低应用程序的速度 它会影响应用程序的性能吗 @NgModule({ imports: [ BrowserModule.withServerTransition({ appId: 'myId' }), FormsModule, AppRoutingModule, HttpClientModule, HttpClientInMemoryWebApiModule,

在angular(2/4/6)应用程序中,如果我们在应用程序模块中导入不必要的模块,则会降低应用程序的速度

它会影响应用程序的性能吗

@NgModule({
  imports: [
    BrowserModule.withServerTransition({ appId: 'myId' }),
    FormsModule,
    AppRoutingModule,
    HttpClientModule,
    HttpClientInMemoryWebApiModule,
    AaModule,
    BbModule
  ],
  declarations: [
    AppComponent,
    AdminComponent
  ],
  providers: [  ],
  bootstrap: [ AppComponent ]
})

导入不必要的模块会大大增加应用程序的大小。 它也适用于您可能想要使用的任何角度模块,
包括第三方模块。

如果您导入模块但从未使用它。。它将被抛在后面。这是编译器提供的“树抖动”的最大优点之一。也称为“死代码”


另一方面,从模块中引用不必要的代码将增加(或膨胀,如您所说)您的分发大小,并且还需要浏览器将此代码读入内存。

Yomateo说,在执行构建时,树抖动将处理未使用的模块/模块操作符是正确的

摇树器从上到下遍历依赖关系图,像摇树中的枯叶一样摇出未使用的代码

但是,执行构建所需的时间有所不同,因为构建包含更多模块的应用程序需要更长的时间,即使这些模块从未使用过,并且如果导入更多模块,构建大小也会更大

因此,为了回答您的问题,性能不会受到影响,但是,构建时间和构建大小会受到影响


@Kooldandy询问的是性能,而不是应用程序的大小。请详细说明。@MartinCh是的,我在问有关表演的问题。它会影响性能还是会花费更多的时间来加载捆绑包?性能是什么意思?@Jota.Toledo它会加载那些不必要的模块吗?是的,它会加载这些模块,您可以将功能移动到自己的功能模块并延迟加载它们。这样,最初只会加载根据URL请求的功能。仅供参考,我指的是
导入:[]
而不是Typescript导入语句。