【问题标题】:Do unused modules exported by SharedModule affect performance in an Angular app?SharedModule 导出的未使用模块会影响 Angular 应用程序的性能吗?
【发布时间】:2018-10-28 14:14:18
【问题描述】:

我有一个 Material 模块,其中包含 Angular Material 组件的导入/导出。

import { NgModule } from '@angular/core';
import {
  MdToolbarModule,
  MdIconModule,
  MdSidenavModule,
} from '@angular/material';

@NgModule({
  imports: [
    MdToolbarModule,
    MdIconModule,
    MdSidenavModule,
  ],

  exports: [
    MdToolbarModule,
    MdIconModule,
    MdSidenavModule,
  ],
})

export class MaterialModule {}

我在 SharedModule 中导入和导出 MaterialModule。

import { NgModule } from '@angular/core';

// Modules
import { MaterialModule } from './material.module';

@NgModule({
  imports: [
    MaterialModule,
  ],
  declarations: [
    // components
  ],
  exports: [
    MaterialModule,

    // components
  ],
  providers: [
    // utils
  ]
})
export class SharedModule {}

例如,我导入 SharedModule 以使用它的组件,这样我就不必在我创建的每个使用 Angular Material 的模块中一遍又一遍地导入 Angular Material 组件。我将 SharedModule 导入到 ExampleModule,但 ExampleModule 仅使用 MaterialModule 中的 MdIconModule。假设这是整个大型应用程序中的常见做法。它会影响开发模式和生产模式(AOT 构建)的性能吗?

【问题讨论】:

标签: angular angular2-aot angular-aot


【解决方案1】:

我认为您的设置很好,并且完全符合 Angular 文档的建议。您还可以在生产中构建时探索您的捆绑包大小以仔细检查。

我相信,在即将到来的 Ivy 编译器中,摇树摇晃会变得更好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-19
    • 1970-01-01
    • 2022-08-04
    • 1970-01-01
    • 1970-01-01
    • 2011-06-27
    相关资源
    最近更新 更多