我刚刚观看了Nicholas Zakas关于可扩展JavaScript应用程序架构(http://www.youtube.com/watch?v=vXjVFPosQHw)的视频 我正在开发一个涉及jQuery +(AngularJS或KnockoutJS)的项目。我们可以考虑围绕jQuery创建抽象,这样我就可以根据客户的要求用Dojo替换jQuery。但是我们如何创建围绕像AngularJS或knockoutJS这样的库的抽象,这样当我选择或替换这些库中的任何一个时,我的应用程序不太容易进行大量修改。
感谢阅读。
答案 0 :(得分:2)
围绕jQuery或Dojo创建抽象是有意义的,因为他们正在尝试完成同样的事情,操纵DOM或更改HTML。
但是,Angular和Knockout是客户端框架。每个框架的目标都完全不同。因此,围绕它们进行抽象对我来说并没有多大意义。
我会弄清楚客户想要什么,仔细挑选符合要求的框架,并坚持下去。
答案 1 :(得分:2)
由于Angular的declarative
vs imperative
性质,在视图模板中对库的抽象将变得棘手。您不应该将AngularJS视为一个库,而应该将更多的框架视为更大的技术堆栈的一部分。