我正在尝试为代码重复的大问题找到最佳解决方案。我们有一个 ASP.NET Web Api
后端和一个 Angular
前端。我们的后端解决方案还有多个项目,其中包含用于访问数据库的业务逻辑
和DAO
。
现在,问题是我们有多个客户,每个客户都有不同的 UI,有时使用不同的 Javascript
代码,但后端保持不变。因此,目前,我们在 Visual Studio
中为每个客户创建一个新项目,其中几乎所有客户端代码都被复制 + UI 更改以及后端的所有 Controllers
也被复制,以及 Global.asax
、OWIN auth 等文件。
这正在成为噩梦,有很多重复的代码,维护起来很痛苦。我想到了一些选择:
- 为每个客户提供不同的
.js
、.css
、.html
文件,但仅限于我们更改的文件,然后,部署的时候,告诉Visual Studio
根据配置部署哪个文件(不知道这个可不可以) - 找到一些工具,使我们能够有条件地更改 javascript 中的代码,就像
Visual Studio
对不同的部署配置使用Web.config
一样 - 为代码寻找另一种方法/架构?
最佳答案
您可以在多个解决方案中引用一个项目。
我会构建一系列通用项目,然后构建引入并“完成”Web 应用程序的单个客户项目。
将最终客户项目作为模板以确保不会遗漏任何内容可能是谨慎的做法。
关于javascript - Web 应用程序中避免代码重复的策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36653216/