【问题标题】:What Javascript Template Engines you recommend? [closed]你推荐什么 Javascript 模板引擎? [关闭]
【发布时间】:2011-12-08 23:18:44
【问题描述】:

我想知道您对javascript模板引擎的看法,您认为哪个在性能方面更好?

我发现了一些人们进行基准测试的链接:

http://jsperf.com/jquery-template-table-performance/15

http://jsperf.com/jquery-template-table-performance/8

http://www.viget.com/extend/benchmarking-javascript-templating-libraries/

【问题讨论】:

标签: javascript template-engine


【解决方案1】:

Template-Engine-Chooser! - 帮助为项目选择正确模板引擎的工具。

【讨论】:

  • 效果很好(讽刺)。回答 3 个第一个问题:客户端或服务器:客户端多少逻辑:只是基础知识是否需要成为最快的问题之一:是不会产生任何结果。
  • @SalvadorDali -- “最快的”都直接编译成 JS,所以你的另一个要求是“只是基础”的冲突,因为它们没有任何限制。
  • @SalvadorDali,一个帮助你选择东西的工具不会让那些东西做你想做的事。
  • 请注意,此站点不再受支持:github.com/garann/template-chooser
  • 此项目不支持
【解决方案2】:

在性能方面,我发现它不是模板引擎本身,而是如果有可能预编译模板的话。无论如何,将所有 JavaScript 源文件连接并缩小到一个文件以用于生产模式是一种很好的做法,因此预编译模板的步骤也基本相同。

我使用 jQuery 模板和 Mustache 进行客户端模板,但我最喜欢的仍然是 EJS,它的执行速度总是比我迄今为止尝试的任何其他方法都要快得多,尤其是在生产模式下(尽可能编译为原生字符串连接)并且只需要一个 DOM 访问权限来实际插入呈现的视图)。它是JavaScriptMVC 框架的一部分,当它与StealJS 作为依赖管理器一起使用时,它已经为您完成了所有模板编译到生产中(View Engine 还支持 Micro、Mustache 和 jQuery 模板)。

【讨论】:

  • 我目前正在构建backbone.js,它已经有下划线模板,不知道我是否应该转向其他模板引擎。但我在所有这些标杆胡子中看到的似乎是赢家?
  • 我发现 Mustache 相当慢。您的模板引擎是否存在实际性能问题?
  • 不是真的,我唯一的问题是,如何预编译模板?
  • 取决于您决定使用的模板语言。基本上,在构建过程中,您需要在缩小之前执行编译器脚本。例如。像这样的 jQuery 模板 github.com/wookiehangover/jquery-tmpl-jst
  • EJS 无疑是最好的。它只是让您轻松编写 JavaScript 代码,让您以超级干净的方式远程加载它,并让您将 '
【解决方案3】:

可能是PURE — 它允许将 JSON 转换为带有 由您现有的 html 制作的模板,而不是来自具有特殊语法的单独模板的 HTML。

来自 PURE 的网站:

简单且超快速的模板工具 从 JSON 数据生成 HTML

表示(HTML)和逻辑(JS) 保持完全分离

独立工作或与 dojo、DomAssistant、Ext JS、 jQuery、Mootools、Prototype、Sizzle 和 Sly

最好的理解方法是看看这个库实际上做了什么(来自官方演示)

所有的演示都是here

【讨论】:

  • 文档不是那么准确,Github 存储库没有问题跟踪器来报告错误。
【解决方案4】:

LinkedIn 使用了dust.js http://akdubya.github.com/dustjs/

【讨论】:

【解决方案5】:

选择具有您认为最吸引人的 api 和语法的模板语言。如果您遇到性能问题,那么您可以考虑替代方案。

除非您正在构建包含数千行的表,否则您可能不会注意到差异。

我个人使用谷歌的Closure Templates。我选择它主要是因为它也有 Java 实现。我从来没有做过基准测试。

【讨论】:

    猜你喜欢
    • 2010-09-25
    • 2011-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-13
    • 2010-09-18
    • 2011-05-16
    • 1970-01-01
    相关资源
    最近更新 更多