【问题标题】:Angular Style Guide 04-11 - Use shared pipe inside core componentAngular Style Guide 04-11 - 在核心组件中使用共享管道
【发布时间】:2019-02-19 10:05:25
【问题描述】:

于是我阅读了Style Guide of Angular > Core Feature Module > Style Guide 04-11:

在 CoreModule 中收集应用程序范围内的一次性组件。应用程序启动时导入一次(在 AppModule 中),永远不要在其他任何地方导入它。 (例如 NavComponent 和 SpinnerComponent)。

为什么? 现实世界的应用程序可以有几个只出现在 AppComponent 模板中的一次性组件(例如,微调器、消息吐司和模式对话框)。它们没有在其他地方进口,因此在这个意义上它们不是共享的。然而,它们又大又乱,不能随意放在根文件夹中。

我可以理解这一点。不过,我偶然发现了一个小问题,让我怀疑是否推荐使用此样式指南。

我的SharedModule 中存在一些管道,我需要在CoreModule 的单一组件中使用它们。

我想到了 2 个替代方案:

  • 在 CoreModule 中导入 SharedModule - 但是会有很多我不需要的不相关的组件/指令/管道。

  • 在 AppModule 中声明所需的管道 - 然后是分离的整个想法。

还有其他推荐的替代方案吗?

【问题讨论】:

  • CoreModules 奇异组件是什么意思?
  • @TheUnreal 我的意思是只使用一次的组件。例如 - 一个 HeaderComponent。该组件仅使用一次。与在多个模块中多次使用的 CommonComponent 不同。
  • 如果你的SharedModule 有很多,你可以拆分它。一种用于材料模块,一种用于对话框,一种用于管道等.. 全部取决于您的应用程序包含的内容量.. 不确定我是否理解您的问题
  • @Stavm 并不是我不想导入 SharedModule 只是因为它很大。这是因为只为一两个管道导入整个共享模块感觉很奇怪。但我明白你的意思。谢谢。

标签: angular


【解决方案1】:

样式指南不是您必须遵循的,它只是一组适用于 99% 项目的建议。

关于第一个解决方案(在 CoreModule 中导入 SharedModule),您必须考虑代码将被摇树,因此只会编译使用的代码。 另一方面,对于非常庞大的应用程序,将 SharedModule 拆分为更小的部分也可能是有意义的(但我会避免这样做)。

【讨论】:

  • 我想我得让摇树来做这件事。当应用程序变大时,我可能会拆分 SharedModule。谢谢。
猜你喜欢
  • 2019-06-17
  • 1970-01-01
  • 2019-07-04
  • 2020-11-18
  • 2021-01-24
  • 2019-11-08
  • 2016-05-10
  • 1970-01-01
相关资源
最近更新 更多