建议将项目与AngularJS中的产品分开

时间:2018-01-22 12:26:10

标签: angularjs git architecture frontend

我目前正致力于AngularJS内部公司产品的前端工作。

到目前为止,该软件是专门为一个客户编写的,但现在我们必须进行更改以适应不同客户的更改请求。

为此,我们需要拆分产品的核心功能和每个客户需要的更改。换句话说,我们需要将软件拆分为主产品,然后每个客户都有自己的子项目。

主要产品将覆盖每个客户需要的95%以上的功能。每个客户(项目)的变化总体上相当小。

示例:

该产品有5种不同的成分。 客户端1需要添加一个组件(除了提到的5个),新组件需要反映在菜单中。 客户端2需要该软件支持RTL,并且还需要对其中一个现有组件进行更改。

如何将现有代码库拆分为,实质上为每个客户端创建略有不同的软件版本?

问题是所有客户端的代码必须存储在同一个GIT存储库中。但是,部署过程可以基于每个客户端进行。

关于我可以采取哪些措施使分裂尽可能无痛和可维护的任何建议?

1 个答案:

答案 0 :(得分:2)

您可以将这些组件模块化并通过设置文件加载它们,因此每个客户端都可以启用单独的功能变体。

这些前端客户是否会与您公司的核心API进行对话,或者您是否也要单独部署这些客户端?我的意思是,如果有核心API,您可以在客户端基础上验证请求并轻松限制/启用功能。在这种情况下,您可以在数据库级别存储这些配置。