可扩展的企业架构

时间:2018-02-16 15:34:33

标签: angular webpack

我需要开发一个企业级应用程序(前端为 Angular 4/5 ),并为用户提供不同的订阅计划。不同的订阅计划具有不同的功能集。

我打算:

  1. 创建核心模块包括抽象业务逻辑类 HTTP服务拦截器核心Redux商店(行动,减速器,效果)

  2. 为每个订阅计划创建单独的功能模块,并覆盖业务逻辑层并添加额外的操作,效果和缩减器。它还将包含计划特定的Angular组件

  3. 我有以下问题:

    1. 是否可以使用angular-cli或Webpack将每个要素模块创建为单独的捆绑包?以便用户仅使用(CanLoad auth guards)下载其订阅的计划代码
    2. 此方法可以使用吗?因为只有特定于订阅的代码才能在用户计算机上下载。
    3. 我对组件html可重用性不是很清楚。因为相同的组件将根据计划呈现不同的html。 如何重复使用?
    4. 如果上面的其他方法不起作用?对于可扩展的解决方案,明天我们可能会有其他计划。
    5. 非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

我同意这是自以为是的,大多数问题或者您的问题都可以在文档中理解:https://angular.io/docs,但是要给您一些要点的信息:

  1. 延迟加载模块是您实现此目的的方法
  2. 这可以像应用*ngIf一样简单,并且像创建所有订阅组件一样复杂,因为呈现组件从特定于订阅模块的服务中呈现数据...... https://blog.angular-university.io/angular-component-design-how-to-avoid-custom-event-bubbling-and-extraneous-properties-in-the-local-component-tree/是一个良好的开端
  3. 这两个链接是一个好的开始
  4. 完全基于意见