Mustache.js,Handlebars.js和Underscore.js有什么区别?

时间:2013-03-21 22:56:37

标签: backbone.js template-engine

我想为我将在MVC应用程序中使用的Backbone.js框架选择模板引擎

我认为Backbone.js默认与Mustache.jsHandlebars.jsUnderscore.js兼容,这些模板引擎之间是否存在一些重要的区别,或者它们几乎完全相同?

此外,是否应该认真考虑与Backbone.js兼容的其他模板引擎

1 个答案:

答案 0 :(得分:6)

Mustache和Handlebars就是所谓的“无逻辑模板引擎”。它们迫使开发人员不要在视图中包含任何过于复杂的逻辑,只需要输出数据所需的最基本的控制结构,保持HTML(或其他内容)的清洁。这也意味着他们完全与语言无关;你应该能够在任何编程/脚本语言中使用它们而不会遇到任何麻烦。

然而,下划线则不同。它本身就是一个JavaScript库,比如Prototype或jQuery,并附带了它自己的模板引擎。模板可以访问库中的任何方法或帮助程序,这意味着模板严格依赖于JavaScript并且包含更多逻辑。