Angular 角度模块导入其不支持的模块的潜在缺点';我没用?

Angular 角度模块导入其不支持的模块的潜在缺点';我没用?,angular,import,ng-modules,Angular,Import,Ng Modules,比如说,在我的Angular应用程序中,我有一个NgModule,我想向它的imports数组中添加一组模块。我不想单独导入每个模块,而是将模块聚集在一个组中,然后导入整个组。组中的一些模块实际上对该模块有用,而其他模块则不是 导入特定模块实际未使用的模块可能有哪些缺点?请注意,每个导入的模块仍在应用程序中的某个位置使用,只是在该特定模块中不需要它们 例如,让我们考虑一个包含常见输入组件的模块的索引文件,在路径 @ APP/公共/输入< /代码>: // whatever imports are

比如说,在我的Angular应用程序中,我有一个NgModule,我想向它的
imports
数组中添加一组模块。我不想单独导入每个模块,而是将模块聚集在一个组中,然后导入整个组。组中的一些模块实际上对该模块有用,而其他模块则不是

导入特定模块实际未使用的模块可能有哪些缺点?请注意,每个导入的模块仍在应用程序中的某个位置使用,只是在该特定模块中不需要它们

例如,让我们考虑一个包含常见输入组件的模块的索引文件,在路径<代码> @ APP/公共/输入< /代码>:

// whatever imports are necessary

const Modules = [
  TextBoxModule,
  SelectModule,
  DatePickerModule,
  // etc.
];

// export individual module types and the Modules array
我有一个WonderfulComponent,它使用TextBoxComponent和DatePickerComponent(分别使用TextBoxModule和DatePickerModule)。但是,它不使用任何其他输入组件(包括SelectComponent)

尽管如此,作为一名懒惰的软件工程师,我将所有输入模块导入MyWonderfulModule,因为只导入TextBoxModule和DatePickerModule需要1行,而不是2行:

// some basic imports
import * as Inputs from '@app/common/inputs';

@NgModule({
  declarations: [
    MyWonderfulComponent
  ],
  imports: [
    ...Inputs.Modules,
    // etc.
  ],
  exports: [
    MyWonderfulComponent
  ]
})
export class MyWonderfulModule {
}
除了迫切需要的TextBoxModule和DatePickerModule之外,导入不必要的SelectModule(和一堆其他输入模块)有哪些缺点

它是否有任何显著的性能或内存影响?它是否会导致更长的编译过程和/或更大的输出文件?或者不必要的导入“就在那里”,对应用程序没有重大影响


(请记住-所有输入模块都在某个地方使用-只是MyWonderfulComponent不使用文本框和日期选择器以外的任何东西)

导入但未使用的模块将从Angular应用程序的生产版本中删除,因此它根本不会影响生产性能


也就是说,如果它们没有在该模块中使用,我建议将它们从该模块的
imports
数组中删除,以保持代码干净简洁。

Ah,但我希望导入额外的模块,以保持代码干净简洁。正如我在我的示例中所展示的那样:我不需要导入一堆单独的输入组件模块——如果我使用另一个输入组件,就必须添加另一个模块——我只需要在一行中将可重用的输入模块数组添加到导入数组中。正如你所说,由于额外的进口不会影响生产性能,所以这种方法应该是安全的。谢谢^^啊,我明白了。伟大的很高兴我能帮忙!