2

我正在尝试为多个 Web 应用程序设计一个 ui 框架,但在为我们的情况设计基础架构时遇到了麻烦:

  • 使用 asp.net mvc 构建 7 个(或更多)分离的 Web 应用程序
  • 内部服务器上的一些 Web 应用程序,一些托管
  • 都具有相同的基本 css/images/javascript(每个应用程序可以使用的共享组件)
  • 每个应用程序都有一些独特的 css 和 javascript
  • 每个应用程序都有自己的 TFS 分支和解决方案
  • 每个应用程序都有自己的发布管理(每月/每年/等)

我想要达到的目标:

  • 一次性修复 UI 错误,而不是针对所有应用程序
  • 所有应用程序的一致用户界面
  • 不要用 UI 的东西打扰其他开发人员

什么是智能基础设施?

4

2 回答 2

1

以我的经验,在 web 项目之间共享非编译代码的困难主要是源代码控制问题。我们使用内部 NuGet 服务器来共享已编译的代码,但这对于未编译的代码效果不佳。对于这些东西(HTML、sripts、内容),我发现将框架的所有常见组件保存在一个层次结构中是最简单的,可以将其作为独立项目或子模块存储在您使用的任何源代码控制系统中,例如

/myframework/scripts
/myframework/styles
/myframework/images

如果“myframework”作为子模块进行管理,您应该能够独立于包含它的项目来维护它。这对于 git 和 svn 来说很简单。

您的应用程序特定脚本和内容可以像往常一样保存在您喜欢的任何正常层次结构中,例如

/scripts
/styles
/images

您还可以查看流行的前端框架在其默认配置中的设置情况。例如,Zurb Foundation提供了一组脚本、样式和内容模板。默认情况下,所有内容都存储在文件夹ContentJavascripts,他们建议您不要更改他们的样式表,而是在单独的样式表中覆盖任何自定义样式。这使您免受对共享框架的更改的影响。将类似的策略应用于您自己的内部框架似乎是明智的。

于 2013-01-03T08:29:08.800 回答
0

我们最终使用 NuGet 将 css/js/images 分发到所有不同的项目。全局 ui 有自己的团队项目,可以自动为我们的内部 nuget 服务器创建 nuget 包。

于 2013-01-08T09:21:04.847 回答