【发布时间】:2016-08-07 18:50:09
【问题描述】:
我正在尝试为代码重复的大问题找到最佳解决方案。我们有一个ASP.NET Web Api 后端和一个Angular 前端。我们的后端解决方案还有多个项目持有Business Logic 和DAO 用于访问数据库。
现在,问题是我们有多个客户,每个客户都有不同的 UI,有时会有不同的 Javascript 代码,但后端保持不变。因此,目前,对于每个客户,我们在Visual Studio 中创建一个新项目,其中几乎所有客户端代码都被复制+ UI 更改以及来自后端的所有Controllers 也被复制,以及文件@987654329 @、OWIN 认证等
这正在变成一场噩梦,有很多重复的代码,维护起来很痛苦。我有一些选择:
- 每个客户有不同的
.js,.css,.html文件,但是只针对我们改变的文件,然后在部署的时候告诉Visual Studio根据配置部署哪个文件(我不'不知道这是否可能) - 找到一些工具,让我们有条件地更改 javascript 中的代码,就像
Visual Studio对Web.config进行不同的部署配置一样 - 寻找代码的另一种方法/架构?
【问题讨论】:
-
这会更适合programmers.se吗?
-
如果版主这么认为,请随时向上移动:)
-
我不会给出这个答案,因为它实际上很难做到,并且可能取决于您的 VC 系统。我其实是把后端代码在一个目录下的项目进行了拆分,每个项目的前端代码在另一个目录下,通用的angularJS代码在一个git子树中。要开始一个新的客户端项目,我们“fork”我们的基础项目的前端并分支后端(所以我们可以设置连接字符串等)。客户特定的更改超出了客户项目的子树。
-
投反对票的人,您介意解释为什么投反对票吗?
-
如果人们无法理解问题,他们通常会投反对票。很烂,但我不止一次看到过。
标签: javascript c# angularjs visual-studio code-duplication