我不确定如何组织Angular模块。
Angular建议功能模块应导入共享模块(具有可重用组件),而不要导入核心模块(具有可重用服务)。从概念上讲,从我的角度来看,Shared和Core模块为Future模块提供了可重用的实体,奇怪的是,应将它们区别对待。由于所有这些组件都散布在Future模块服务和组件中,因此很难理解Future模块的依赖关系。结果是重构可能很困难,因为没有一个地方具有较高的部门概况。
也许我错过了一些东西,还有其他方法来组织模块吗?从您的角度来看,您是否遇到过相同的问题或根本不是问题?
答案 0 :(得分:1)
基于角度Guideline
CoreModule将导入到AppModule中,并且可用于共享和所有featureModule,这就是为什么他们说避免导入功能模块
此外,如果您看到文件夹结构的example,则SharedModule中有一些服务,这意味着服务不限于CoreModule。但是一次性类和单例服务将在CoreModule中
考虑:在核心模块内收集大量辅助的一次性使用类,以简化功能模块的外观结构。
考虑,调用应用程序范围的核心模块CoreModule。将CoreModule导入根AppModule可以降低其复杂性,并强调其作为整个应用程序的协调器的作用。
执行。在核心文件夹中创建一个名为CoreModule的功能模块(例如,app / core / core.module.ts定义CoreModule)。
执行,将其实例将在CoreModule中的整个应用程序中共享的单例服务(例如ExceptionService和LoggerService)。
执行导入CoreModule中资产所需的所有模块(例如CommonModule和FormsModule)。
避免将CoreModule导入到AppModule之外的任何地方。