Angular中共享模块的理想大小

Ons*_*nsa 5 import module project-structuring angular

我有一个带有多个功能模块的Angular项目,但是我不确定构造共享模块的最佳实践是什么。

  1. 即使每个功能模块都包含仅在少数但并非所有功能模块中使用的组件,管道,指令等,是否最好在每个功能模块中导入一个大型文件SharedModule
  2. 还是将它们拆分成较小的模块(逻辑单元),然后将它们一个接一个地导入到仅在需要的地方使用功能模块更好?

我认为(1)听起来很容易编写,但是我有点担心将部分未使用的代码导入每个功能模块可能会减慢我的应用程序的速度并使延迟加载变得毫无意义。如果有人可以阐明这两种策略的优缺点,那将是非常受欢迎的。谢谢!

Ale*_*net 1

当然,这取决于您的应用程序需求。我会根据您的其他模块需求亲自创建几个共享模块。

想象一下下面的例子:

  • 我有 2 个功能模块需要特定的自定义表。
  • 我有 3 个使用 Flex-layout 的功能模块,而使用自定义表格的 2 个功能模块中只有一个使用 Flex-layout。

这是一个典型的示例,您将拥有一个大型共享模块来导入和导出所有内容,但在这种情况下,3 个功能模块将在不使用表类时导入表类。

在这种情况下,我发现将共享模块分成几个符合我的需要的模块很有用。通常,这意味着我将创建一个 StyleSharedModule、一个 TableSharedModule 等......

无论如何,大小并不是一个重要因素。你可以有一个非常轻的共享模块,其中有很多子模块,你也可以有一个非常重的共享模块,它只导入一些东西(但是大的东西)。

对我来说,逻辑需求是让你创建不同共享模块的重要因素,而不是大小。