23

我不明白Angular 2 中corefeature模块之间的区别。据我所知,推荐的模块类型有三种:corefeatureshared

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

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

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

4

1 回答 1

25

核心模块包含全局服务的提供者,并且可以防止从延迟加载的模块中加载(如您的链接所示),因为这很容易导致延迟加载的模块获得自己的全局服务实例的错误(这是违背本意的) .

功能 顾名思义 - 一个模块对应一个功能

否则,功能模块主要通过其意图来区分。

功能模块提供了一组专注于应用程序业务领域、用户工作流、设施(表单、http、路由)或相关实用程序集合的内聚功能。

共享

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

于 2016-09-12T09:50:24.343 回答