您推荐哪些 Javascript 模板引擎?

IT技术 javascript template-engine
2021-01-17 15:01:37

我想知道您对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/

5个回答

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

这个项目没有支持
2021-03-16 15:01:37
它很好用(讽刺)。回答 3 第一个问题: 客户端或服务器:客户端 多少逻辑:只是基础 是否需要是最快的之一:是 没有结果。
2021-03-22 15:01:37
@SalvadorDali,一个帮助您选择事物的工具不会让这些事物按照您的意愿行事。
2021-03-22 15:01:37
请注意,不再支持此站点:github.com/garann/template-chooser
2021-03-23 15:01:37
@SalvadorDali——“最快的”都直接编译为 JS,所以你的另一个要求是它有“基础”冲突,因为它们不限制任何东西。
2021-04-10 15:01:37

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

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

毫无疑问,EJS 是最好的。它只是让你摆脱你的方式,让你编码 JavaScript,让你以一种超级干净的方式远程加载它,让你将 '<' 替换为这个 '[' 以使用你的服务器端编码。对我来说,其他一切都像一些超级书呆子,试图用一些漂亮的语法抽象垃圾来让它变得可爱。
2021-03-18 15:01:37
我目前正在用backbone.js 构建,它已经有下划线模板,不知道我是否应该转向其他模板引擎。但是我在所有这些基准测试中看到的似乎是赢家?
2021-03-25 15:01:37
不是真的,我唯一的问题是,如何预编译模板?
2021-03-29 15:01:37
取决于您决定使用的模板语言。基本上,您需要在构建过程中在缩小之前执行编译器脚本。例如 jQuery 模板github.com/wookiehangover/jquery-tmpl-jst 的类似内容
2021-04-06 15:01:37
我发现 Mustache 相当慢。你的模板引擎有实际的性能问题吗?
2021-04-07 15:01:37

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

来自 PURE 的网站:

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

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

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

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

所有的演示都在这里

文档不是那么准确,Github 存储库没有问题跟踪器来报告错误。
2021-04-01 15:01:37

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

他们还解释了为什么选择它:engineering.linkedin.com/frontend/...engineering.linkedin.com/frontend/...这是一项很好的工作,他们的论点对我来说听起来不错。
2021-03-26 15:01:37

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

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

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