前端模板引擎ejs和jade比较
先说明一下,之所以有这篇文章是因为考虑到目前正在使用的handlebars模板引擎,在处理逻辑判断时不太方便,需要使用大量的判断嵌套,加大了工作量还容易出错,所以希望换一个更优秀的模板引擎。
jade
首先说jade,现已改名为pug,因为版权问题,具体是什么我也不知道。。。
jade是一个运行于node环境的模板引擎,也就是说它其实是一个服务端模板引擎。但众所周知,node其实也是js环境,所有它也可以在浏览器端使用,只是有如下一些要求:
- 首先,你需要下载最新版的jade.js,这个问题不大,但是这个js压缩后都要500K+,这就是一个问题了
- 其次,它只兼容最新的浏览器内核,还要兼容ie的就果断放弃吧
所以官方也不推荐用户这样使用jade模板引擎。
他们推荐了另一种在浏览器端使用jade的方式:
- 首先你要在本地安装node环境,使用npm包管理工具下载jade,然后使用命令行将你写好的jade模板文件编译为可运行的js文件
- 然后你只需要在页面中导入一个约7k的runtime文件,就可以将编译出来的js文件作为模板文件使用了
而这样使用的优点是,不需要导入模板引擎的编译代码,并且省去了模板文件编译的过程,加快了模板渲染的流程。
ejs
再来说说ejs
ejs的html部分直接使用的html语法,标实符号和php、asp类似(当然可以自定义),而逻辑语法直接使用js语法(可以直接运行js语法),上手方便。
你能够在 <%…%> 块中安排 JavaScript 代码,利用最传统的方式 <%=输出变量%>(另外 <%-输出变量是不会对&等符号进行转义的)。
同时ejs的js文件未压缩版为14k,压缩后只有8k。
找到的东西比较少,就这么点了。