为什么很多人安装了 express 之后,不使用默认的 jade,反而去使用 ejs 呢?

2016-02-27 00:41:00 +08:00
 pzzrudlf

如题,我今天刚刚搭建了 node + express 环境,就像修改视图文件的后缀为.html 。但是在 google 方法的时候,发现很多人都不使用默认的 jade 模板引擎,反而使用 ejs 模板引擎。这是为什么?除了 jade 和 ejs 之外,还有其他使用率较高的模板引擎吗?(我是新人,求多多关注:))

9638 次点击
所在节点    Node.js
30 条回复
pzzrudlf
2016-02-27 00:42:41 +08:00
'像'=>'想'。
kungfuchicken
2016-02-27 00:55:31 +08:00
因为 jade 真的真的很难用
fedoral
2016-02-27 01:04:36 +08:00
hbs 一直在用
jybox
2016-02-27 01:33:08 +08:00
express 默认 jade ?据我所知当前版本的 express 已经移除了所有和具体模板引擎有关的逻辑,你可以在源代码中搜索 `jade` 这个词,只出现在了示例和注释中。

相比于 ejs 等模板引擎 Jade 的劣势:

只能渲染 HTML (而很多应用需要渲染非 HTML 内容);
JavaScript 程序员不习惯用缩进来表示层级(很多编辑器对基于缩进表示层级的语言支持也比较差);
Jade 引擎的代码量是 ejs 的几倍,如果希望在前后端使用同一个模板引擎, jade 可能不是一个好的选择。
WildCat
2016-02-27 01:34:14 +08:00
我猜楼主是用的 WebStorm
yyfearth
2016-02-27 02:53:32 +08:00
主要原因是 jade 需要重写所有的模版
而 ejs 可以直接复制粘贴现成的 html
stevenFang
2016-02-27 04:38:40 +08:00
@yyfearth 你在这里很活跃啊
yyfearth
2016-02-27 09:05:38 +08:00
@stevenFang 那是啊

@jybox 貌似有啊 根据文档 express generator 默认是 jade

$ express -h

Usage: express [options] [dir]

Options:

-h, --help output usage information
-V, --version output the version number
-e, --ejs add ejs engine support (defaults to jade)
--hbs add handlebars engine support
jsonline
2016-02-27 11:34:21 +08:00
因为 Jade 不是 HTML
adspe
2016-02-27 12:03:40 +08:00
jade 确实有点难用。 intent 我一直弄不好
dphdjy
2016-02-27 12:31:09 +08:00
_(:з)∠)_ 把 ejs 换成 jade 的路过~
jade 比较优雅~~和 coffeescript 一起用~
画面多美~
fermatrolle
2016-02-27 13:31:11 +08:00
确实,默认是 jade ,但是当时比较着急,就没花时间去学,而且 ejs 入手比较简单。
CrazySpiderMan
2016-02-27 13:33:35 +08:00
用 jade 的话, 如果需要复制 html 代码的, 就把用工具把它转换成 jade 就是了. jade 代码易读些.
Twinkle
2016-02-27 13:47:32 +08:00
@dphdjy es6 推广开来之后感觉 coffee 快死了_(:з)∠)_
Wangxf
2016-02-27 14:04:09 +08:00
jade :不是 html ,现成的 html 还要借助 html2jade (本身有小小的问题)转成 jade ,而且团队协作麻烦不小
ejs :很不错,但是受不了各种内嵌,看着很烦
hbs: 可以,但是有些功能比较薄弱
最后选择了无比强大的[nunjucks]( http://mozilla.github.io/nunjucks/cn/templating.html)
dphdjy
2016-02-27 14:48:33 +08:00
@Twinkle 不不~私以为主要是 typescript 出来~coffeescript 快死了~~然而我偶尔小脚本还在用~ 多美~_(:з)∠)_
visonme
2016-02-27 14:52:43 +08:00
多是一种习惯吧
jade 语法简洁了很多,但是我还是喜欢写 html 标签,看的顺眼
zyguan
2016-02-27 15:50:27 +08:00
dsl 简洁是简洁,但多了学习成本,要想用好还得深入其实现,再说有了 emmet 等神器, html 写起来也不算费事。当然,团队合作也是个事儿~
Keviw
2016-02-27 15:55:44 +08:00
@dphdjy +1 我也觉得 jade 很 NICE (易读、简洁),但是如果想移植 html 文件到 jade 就得重写,很影响效率,现在看来大多人普遍会采用 ejs 来开发项目。
hxtheone
2016-02-27 15:58:37 +08:00
写 jade 行数一多就觉得有点控制不住

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/259433

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX