共享模块中未使用的组件会减慢我的应用程序吗?

时间:2017-07-11 02:31:24

标签: angular

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

1 个答案:

答案 0 :(得分:3)

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

  

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

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

简单地声明您的组件不会对性能产生任何影响。它只是使Angular知道它们的存在,因此它们可以与您的组件选择器匹配。

然而,这带来了一个巨大的警告 - 如果你在生产中使用Angular和典型的构建过程,你在模块上声明的组件将被捆绑在输出JavaScript中(它们不会被删除通过树木摇晃)。通常这是正确的行为(因为某些事情仍在使用您的组件)。但是,如果您是懒惰的,并且性能至关重要,那么您需要确保不要将不必要的组件打包到捆绑包中。