1
darklowly 2012-09-11 18:48:42 +08:00
ejs
|
2
paulguo 2012-09-11 18:55:38 +08:00
Juicer,性能优越(比handlebars、ejs快许多)、安全、易用、完善的错误处理。http://juicer.name
|
5
paulguo 2012-09-11 19:40:56 +08:00
@darklowly juicer是我写的,写之前我做过充分的调研,目前Beijing Taobao UED已经开始更换旧的模板引擎为juicer了,项目中的实践经验得知,性能在复杂逻辑和大数据量下很重要的(如果性能有瓶颈,会遇到浏览器短暂卡死脚本超时的情况),juicer完全可以胜任,juicer的自定义语法不是画蛇添足完全是为了模板的易维护易读。
|
9
darklowly 2012-09-12 02:43:41 +08:00
@paulguo
1 juicer部分功能好像没有(只是好像)因为我忘记了。例如include之类的 在把这些功能加上去以后性能会不会继续快。我不确定 2 juicer没有必要引入其他语法。我写程序的原则是。在尽量不引入任何概念的情况下。就坚决不引入哪怕一丁点。虽然你那个语法可以瞬间学会。但是没必要。例如${var_name} $${var_name}. 3 node.js的优点,我不觉得是速度有多快。或者是异步特性。反而异步特性在拖后腿。虽然很多人不承认这一点。但是它火了。我猜测很大原因是前后台可以统一了。可以用一种语言写完所有的东西了。既然是这样,为什么还要引入其他的东西呢? 4 纯属个人偏好。不代表别人。 |
10
paulguo 2012-09-12 11:41:05 +08:00
@darklowly thx,
1\ include加进去不会引起性能下降,性能问题是由编译后的模板函数决定的,include的处理是在编译中而不是生成的compiled_func中,后续我会考虑加上子模板的功能。 2\ 这点也是juicer一直坚持的,调研中也发现像micro-tmpl这样的原生语法花括号看起来眼花缭乱,极易出错,当然如果喜欢的话juicer也是兼容micro-tmpl的<% %>原生语法的。 3\juicer并不是为nodejs而生,是为浏览器而生的,因此对性能还是比较关注的,如果需求仅仅是在服务端渲染模板,不同引擎的性能差别应该还可以忍受。 感谢darklowly的反馈 :) |
12
bitsmix 2012-09-12 14:16:56 +08:00
讨厌带逻辑的模板。。所以推荐 {{mustache}}
|
13
ine181x 2012-09-13 19:45:15 +08:00
http://paularmstrong.github.com/swig/ 个人比较倾向于swig 如果是从python或java的freemarker转过来的可以选择这个
|
14
bigwang 2012-09-13 19:47:02 +08:00
nodejs写页面,还不如花点时间去学php
|
15
sofish 2012-09-13 19:56:43 +08:00
怎么说呢?并不是只能用 jade 而没有替代品,但在 node 中不用 jade 可以说是太可惜了。特别是当 express + jade 的时候,从代码的分层和编写的效率上,还没见到更好的配合
|
16
uoryon OP |
17
dn 2012-09-14 11:49:55 +08:00
ejs
jade不利于协作。除非你自己是一条龙拿下整个项目。 |
18
heroicYang 2012-09-14 13:03:28 +08:00
jade非常直观啊~
|
19
meteor 2012-09-16 23:04:32 +08:00
谁说一定要Jade的?
Jade只是Template Engines之一. https://github.com/visionmedia/jade 有很多的替代方案的。 Template Engines Template engines that are Express compliant out of the box. Jade -- Haml inspired template engine Haml.js -- Haml implementation EJS -- Embedded JavaScript template engine hbs -- adapter for Handlebars.js, an extension of Mustache.js template engine hulk-hogan -- adapter for Twitter's Hogan.js (Mustache syntax), with support for Partials combyne.js -- A template engine that hopefully works the way you'd expect. swig -- fast, Django-like template engine whiskers -- small, fast, mustachioed Blade -- HTML Template Compiler, inspired by Jade & Haml Haml-Coffee -- Haml templates where you can write inline CoffeeScript. Webfiller -- plain-html5 dual-side rendering, self-configuring routes, organized source tree, 100% js. https://github.com/visionmedia/express/wiki |
20
nicolazj 2012-09-16 23:41:11 +08:00
用过hogan,实际使用中,碰到一些需要特殊处理的,轻逻辑的模版好像确实比较难处理。大家是怎么搞得呢?
|
21
franky_xhl 2012-09-18 09:50:19 +08:00
@nicolazj 我是先用javascript把数据处理一下再给模板
|
22
jackyz 2012-09-20 11:06:14 +08:00
我不太喜欢 require 一大堆东西。目前感觉 underscore 的 template 很 tiny & easy 。
|
23
jiyinyiyong 2012-09-21 18:42:06 +08:00
|
24
alsotang 2012-09-23 01:49:57 +08:00
|
25
chone 2012-09-23 08:32:27 +08:00
google的closure template
https://developers.google.com/closure/templates/docs/javascript_usage |