最近选模板很纠结这两款模板 ( artTemplate) vs ( nunjucks) ,亲们能给点意见吗!
@yuanzhhh 没接触过,但是我觉得就从难易程度和效率两个角度考虑吧。但是说真的,为什么不考虑前后端分离的技术呢?比如Angular、React.js、Backbone等等。
<script type="text/javascript" src="http://localhost/nunjucks.js"></script>
ie下报错 消息: 缺少标识符、字符串或数字 行: 6095 字符: 6 代码: 0 URI: http://localhost/nunjucks.js
@yakczh ie也要看是 ie 几
gte 9, 是有ES5 的,应该没问题 8 的话,需要 es5-shim https://github.com/mozilla/nunjucks#browser-support 再往下, 不太清楚。。。
@magicdawn shim 和sham是一起用吗?
<script type="text/javascript" src="//cdn.bootcss.com/es5-shim/4.5.7/es5-shim.js"></script>
<script type="text/javascript" src="//cdn.bootcss.com/es5-shim/4.5.7/es5-sham.js"></script>
<script type="text/javascript" src="http://localhost:8000/nunjucks.js"></script>
<script>
alert(nunjucks.renderString('Hello {{ username }}', { username: 'James' }));
</script>
还是报错,是不是引用的顺序不对?
就个人看法,简单对比总结下,如何选择还是看你实际情况了:
- Jade
优点:代码简约,无需考虑前后的标签匹配,是Express默认模板引擎,支持layout布局等技术
缺点:已经是一门新的标记语言了,需要专门学习,学习成本较大,很容易遇到问题然后各种谷歌求解...一般都是先写用原生的HTML代码,再通过htmltojade转为Jade,这些问题如果再考虑到团队合作开发,美工、前端、后端都要在页面中放东西,可能就会觉得很麻烦了。 - ejs
大量的<%= %>,我是作ASP.NET出身,已经深恶痛绝了!!ejs的尖括号,很容易就跟html的尖括号混起来,看上去乱糟糟的。。。 - handlebars
优点:原生的html,团队合作开发容易,学习成本很低,大家都能很快上手,用 {{ code }} 标记服务端代码
缺点:正在学习中,没发现啥大问题,感觉很顺手的样子。。。打算从Jade转handlebars,因为每次都要html转jade实在受够了。。
ps:创建express项目时,可以很容易地选择handlebars模板引擎:
express --hbs myProjectName个人感受,仅供参考!
这里我提供两个供选的模板引擎, mustache.js 和 hogan.js。一般在页面模板中,建议尽量少写业务逻辑,用ejs虽然灵活,但是团队大了,不好控制。Jade的代码简约,但是不太好和设计师协作,除非你的设计师也会jade,否则把设计好的静态页面转成jade也是一个成本很高的过程。
@magicdawn
网页错误详细信息
用户代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; MALN; .NET4.0E; .NET4.0C; Media Center PC 6.0) 时间戳: 2016年3月26日 02:32:58 UTC
消息: 缺少标识符、字符串或数字 行: 6095 字符: 6 代码: 0 URI: http://localhost:8080/nunjucks.js
<div data-reactid=".0.1.0.5.2.0.0"><p data-reactid=".0.1.0.5.2.0.0.0ドル"><span data-reactid=".0.1.0.5.2.0.0.0ドル.0">artTemplate用过,灵活性比较好,还支持预编译压缩,其实都用上前端模板了,为何不选择vuejs或者reactjs,个人不推荐angular,如果是很简单的页面片段,无所谓模板引擎选择了,哪个简单用哪个</span></p></div>