我目前正在评估使用Backbone.js和Aura.js来构建企业级 SPA。
我有一个很好的 Javascript 架构,它提供了抽象、一致性、灵活性并且不依赖于任何基础库。
正如我所看到的,在使用任何 MV* 模式(尤其是 Backbone)时,标记生成可以通过直接 dom 操作和外部 html 模板的组合分散在整个视图中。
我想在我的视图中对 html 标记应用与我的 Javascript 架构相同的原则。
抽象- 理想情况下,我想为开发人员提供一个简化的 API 来生成标记,从而可能使他们远离正在使用的 css 类/标记结构。
一致性- 我想促进和控制开发人员团队中生成的标记的一致性。
灵活性- 如果需要更改正在使用的 css 类/标记结构,我希望避免必须找到并完全重写某些标记的所有实例。理想情况下,我希望在一个地方进行任何更改,这将在系统内的所有使用中传播。
作为如何在服务器端实现这一点的一个实际示例,我们目前在 ASP.NET MVC 中使用了一套自定义 HtmlHelpers(在设计上类似于 KendoUI)。这些帮助程序为开发人员提供了一个很好的流畅 API 来使用和集中控制生成的标记。
然而,随着我们转向客户端 UI 生成,我不确定如何获得与服务器端标记生成相同的好处。
我很欣赏模板可以在整个 UI 中提供可重用的小部件,但这并不能完全解决上述问题,这些问题适用于创建这些模板和包含它们的布局。
所以总结一下我的问题......
在开发企业级 SPA 时,可以采用哪些实践来实现团队内标记生成的控制和一致性?