【问题标题】:Do unused components in shared modules slows down my application?共享模块中未使用的组件会减慢我的应用程序吗?
【发布时间】:2017-07-11 02:31:23
【问题描述】:

在我的电子组件中,我导入了我的 shared.module(具有 features-brand.component、product-list.components 等),并在我的其他类别(视频游戏、玩具等)中导入了我的共享模块。我的 shared.modules 中的某些组件在我导入它们时没有使用。我的共享模块中这些未使用的组件会减慢我的应用程序的速度吗?非常感谢提前。

【问题讨论】:

  • entryComponents 中是否引用了它们?

标签: angular


【解决方案1】:

“减速”的标准很难量化。不过,要回答您的问题,了解在模块actually does 中声明的组件是有帮助的:

NgModule 是一个用@NgModule 元数据修饰的类。元数据执行以下操作:

  • 声明哪些组件、指令和管道属于模块。

在那里简单地声明您的组件不会对性能产生有意义的影响。它只是让 Angular 知道它们的存在,因此它们可以匹配到您的组件选择器。

但是,这有一个很大的警告 - 如果您在生产环境中使用 Angular 和典型的构建过程,那么您在模块上声明的组件将被捆绑在您的输出 JavaScript 中(它们不会被删除通过摇树)。通常这是正确的行为(因为您的组件仍在被某些东西使用)。但是,如果您是延迟加载,并且性能很关键,那么您需要确保没有将不必要的组件打包到包中。

【讨论】:

    猜你喜欢
    • 2020-10-14
    • 1970-01-01
    • 1970-01-01
    • 2013-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多