最佳实践:Angular 14 中的独立组件与模块

ism*_*tro 57 components typescript angular-module angular

我正在寻求有关在 Angular 14 中使用独立组件和模块的最佳实践的澄清。考虑到独立组件作为 Angular 中的一个新概念引入,我正在寻找由引文或参考文献支持的事实指导。

我仅使用具有延迟加载路线的独立组件创建了一个新的整个应用程序,并且一切都运行良好。这里是仓库: https: //github.com/Ismaestro/angular-example-app

然而,我很好奇这是否表明可能会转向独立组件,从而导致 NgModule 过时。

有人可以提供基于证据的见解,了解在 Angular 14 中使用独立组件与模块的优缺点吗?

感谢你的贡献。

Mox*_*arm 39

独立组件不是强制性的,也永远不会是强制性的,没有规定何时使用它们。但是,Angular 架构师建议至少对于您创建的新组件始终使用独立组件。它们只是更容易摇树并且更少锅炉。您也可以混合独立组件和模块。

对于上述 Angular 架构师的推荐,您还可以观看上周一的网络研讨会:https://www.youtube.com/watch? v=9rj8kR0q0c8

  • 我现在正在使用独立组件,并且我同意我们都应该使用独立组件而不是模块(至少在未来)。也就是说,我认为使用模块的一个潜在有效理由是,如果您_知道一个事实_您正在编写的某些组件将_始终_一起使用。然后我仍然会将它们编写为独立组件,但您可以轻松创建一个模块来导入和导出所有组件,以便它们很容易作为一个单元导入。这只是我正在考虑的想法,并且很乐意在这里提出其他想法。 (5认同)
  • 我们有一个包含大量服务的大项目,这些服务通常在组件之间共享,因此我们目前将服务放在一个模块中,并将该模块加载到需要它的组件中,这样(理论上)服务只提供一次,但是它不在应用程序的根目录中。我真的找不到使用独立组件执行此操作的好方法。对此有什么想法吗? (3认同)
  • 目前,我使用模块是为了对特定功能的组件和服务进行分组。例如,我需要由 3 个或更多组件组成的东西,并且有一些仅适合该单一功能的服务,我将它们分组在一个模块中。但对于简单的功能或为了共享代码并防止不必要的重复代码,独立组件是惊人的!而且它们没有任何限制,对于您的新项目,您只能使用独立组件,没有任何问题 (2认同)