核心模块是否应该在 Angular2 中导入共享模块

Loh*_*eek 5 javascript angular-material angular

遵循关于如何构建 Angular 应用程序的几个建议,我最终得到了这个文件组织:

- app
    - core
        - header
        - sidenav
        core.module.ts
    - shared
        - material
            custom-material.module.ts
        shared.module.ts
    - features
    app.module.ts
Run Code Online (Sandbox Code Playgroud)
  • 我有一个核心模块和一个共享模块
  • 核心模块产品出口全球组件,如HeaderComponentSidenavComponent
  • 共享模块出口CustomMaterial子模块(我听说这是做事情的方式)
  • CustomMaterial子模块出口,我需要不同的材料成分
  • 应用模块仅导入芯模块(因为共享模块只能由需要它的元件被导入)
  • 中的模块features/是延迟加载的

但是现在,我的问题是:我的标题组件需要一些材料组件。

我应该将共享模块导入核心模块还是应用模块?但这对我来说似乎是一种反模式。

mat*_*rmv 0

您唯一要做的就是创建一个shared.module.ts,在其中您应该导入您想要在任何地方使用的所有材质模块(MatInputModule、MatButtonModule 等)并导出所有这些导入的模块(这使您能够将它们导入到另一个模块中,调用此共享模块)。

之后要做的小事情就是导入这个包含所有材质模块的共享模块,例如在页眉模块和页脚模块中(当然,如果您需要 MatInputModule)

希望我已经说清楚了

祝你今天过得愉快 !