核心和功能模块之间的角度2差异

时间:2016-09-12 09:41:35

标签: javascript angular angular2-modules

我不理解角度为2的corefeature模块之间的区别。据我所知,有三种推荐的模块类型:core,{{ 3}}和feature

如果模块导出一些声明(组件,指令和管道),并且许多模块将导入该模块,则该模块应该是共享模块(在共享目录中)。

如果一个模块表示一些声明(组件,指令和管道),只有根模块将导入该模块,那么这个模块应该是一个核心模块(在核心目录中)。

功能模块是否相同?只有root模块导入它们。在shared示例中,有一个CoreModule和一个名为ContactModule的功能模块。我不明白它们之间的区别。它们都是在根模块中导入的。

1 个答案:

答案 0 :(得分:25)

<强>芯

核心模块包含全局服务的提供程序,并且可以防止从延迟加载的模块加载(如链接中所示),因为这很容易导致延迟加载的模块获取自己的全局服务实例的错误(这是针对的意图)。

<强>特征 顾名思义 - 一个功能的一个模块

  

否则,功能模块的主要区别在于其意图。

功能模块提供一组紧密结合的功能,专注于应用程序业务领域,用户工作流程,工具(表单,http,路由)或相关实用程序的集合。

<强>共享

这主要是为了方便,导出了几个模块,因此可以在想要全部使用它们的组件中同时使用它们(您可能希望在许多其他模块中一起使用的公共管道,组件和指令)。 / p>