常用的JavaScript模板引擎介绍


Posted in Javascript onFebruary 28, 2015

最近工作内容慢慢接近我的理想化(web前端),所以关注比较多的是前端性能!后台同事介绍使用ajax模板引擎,提高渲染速度!

下面介绍几款 JavaScript 模板引擎

1. Mustache

基于javascript 实现的模板引擎,类似于 Microsoft's jQuery template plugin,但更简单易用!

2. doT.js

doT.js 包含为浏览器和Node.js 准备的 JavaScript 模板引擎。

3. jSmart

jSmart 是著名的 PHP 模板引擎 Smarty 的 JavaScript 移植版本。

4. dom.js

dom.js 是一款可用在客户端和服务器端的 JavaScript 模板引擎

5. jade

Jade是受Haml的影响以JavaScript实现用于node的高性能模板引擎。

6. Hogan.js

来自 Twitter 的 JavaScript 模板引擎。

7. Handlebars

Handlebars 是一个 JavaScript 的页面模板库

8. artTemplate

artTemplate 是新一代 javascript 模板引擎,它在 v8 中的渲染效率可接近 javascript 性能极限,在 chrome 下渲染效率测试中分别是知名引擎 Mustache 与 micro tmpl 的 25 、 32 倍。引擎支持调试。若渲染中遇到错误,调试器可精确定位到产生异常的模板语句,解决前端模板难以调试的问题。

独有模板编译工具,它能把前端模板编译成不依赖模板引擎运行的JS文件,让前端模板可以突破浏览器的限制,实现像后端模板一样按文件与目录的方式组织、按需加载、include嵌套等。这一切都在 2kb(gzip) 中实现!

也许你会觉得这个插件名似曾相识,没错!这个也是artDialog的作者糖饼

博客地址:http://www.planeart.cn/

引用引擎

<script src="js/template.js"></script>

编写模板

<script id="test" type="text/html">

//使用一个type="text/html"的script标签存放模板:

<h1><%=title%></h1>

<ul>

  <%

    for(i=0;i<list.length;i++){%>

      <li>itemL <%=i+1%>:<%=list[i]%></li>

    <%}%>

</ul>

//模板逻辑语法开始与结束的界定符号为<% 与%>,若<%后面紧跟=号则输出变量内容

</script>

渲染模板

var data = {

    title: '标签',

    list: ['文艺', '博客', '摄影', '电影', '民谣', '旅行', '吉他']

};

var html=template.render("test",data);

document.getElementById('content').innerHTML = html;
Javascript 相关文章推荐
初学Javascript的一些总结
Nov 03 Javascript
js常用数组操作方法简明总结
Jun 20 Javascript
node.js中的fs.fchownSync方法使用说明
Dec 16 Javascript
Javascript基础教程之for循环
Jan 18 Javascript
JS实现兼容性好,带缓冲的动感网页右键菜单效果
Sep 18 Javascript
jquery实现全选、不选、反选的两种方法
Sep 06 Javascript
node.js与C语言 实现遍历文件夹下最大的文件,并输出路径,大小
Jan 20 Javascript
Bootstrap栅格系统的使用详解
Oct 30 Javascript
Angular6新特性之Angular Material
Dec 28 Javascript
谈谈JavaScript中super(props)的重要性
Feb 12 Javascript
5分钟快速看懂ES6中的反射与代理
Dec 19 Javascript
antd日期选择器禁止选择当天之前的时间操作
Oct 29 Javascript
JavaScript操作Cookie详解
Feb 28 #Javascript
js实现可得到不同颜色值的颜色选择器实例
Feb 28 #Javascript
JS+CSS实现实用的单击输入框弹出选择框的方法
Feb 28 #Javascript
JS实现很酷的EMAIL地址添加功能实例
Feb 28 #Javascript
浅谈JavaScript数据类型及转换
Feb 28 #Javascript
javaScript基础语法介绍
Feb 28 #Javascript
jQuery实现的输入框选择时间插件用法实例
Feb 28 #Javascript
You might like
php学习 字符串课件
2008/06/15 PHP
PHP curl CURLOPT_RETURNTRANSFER参数的作用使用实例
2015/02/07 PHP
php中preg_match的isU代表什么意思
2015/10/01 PHP
Codeigniter中集成smarty和adodb的方法
2016/03/04 PHP
PHP APP微信提现接口代码
2018/09/30 PHP
jQuery dialog 异步调用ashx,webservice数据的代码
2010/08/03 Javascript
JavaScript访问样式表代码
2010/10/15 Javascript
Jquery 数据选择插件Pickerbox使用介绍
2012/08/24 Javascript
js简单的表格添加行和删除行操作示例
2014/03/31 Javascript
js的for in循环和java里foreach循环的区别分析
2015/01/28 Javascript
JS实现样式清新的横排下拉菜单效果
2015/10/09 Javascript
原生javascript实现的一个简单动画效果
2016/03/30 Javascript
easyUI实现(alert)提示框自动关闭的实例代码
2016/11/07 Javascript
javascript将list转换成树状结构的实例
2017/09/08 Javascript
vue一个页面实现音乐播放器的示例
2018/02/06 Javascript
20个最常见的jQuery面试问题及答案
2018/05/23 jQuery
jQuery实现根据身份证号获取生日、年龄、性别等信息的方法
2019/01/09 jQuery
使用VueCli3+TypeScript+Vuex一步步构建todoList的方法
2019/07/25 Javascript
layui之table checkbox初始化时选中对应选项的方法
2019/09/02 Javascript
javascript事件循环event loop的简单模型解释与应用分析
2020/03/14 Javascript
[53:52]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
用Python编写脚本使IE实现代理上网的教程
2015/04/23 Python
Python中条件判断语句的简单使用方法
2015/08/21 Python
django1.8使用表单上传文件的实现方法
2016/11/04 Python
如何实现删除numpy.array中的行或列
2018/05/08 Python
Python 网络爬虫--关于简单的模拟登录实例讲解
2018/06/01 Python
opencv python 傅里叶变换的使用
2018/07/21 Python
配置 Pycharm 默认 Test runner 的图文教程
2018/11/30 Python
numpy中三维数组中加入元素后的位置详解
2019/11/28 Python
Pyspark获取并处理RDD数据代码实例
2020/03/27 Python
物理教学随笔感言
2014/02/22 职场文书
试用期自我鉴定范文
2014/03/20 职场文书
教师对学生的评语
2014/04/28 职场文书
家长学校工作方案
2014/05/07 职场文书
奥巴马开学演讲稿
2014/05/15 职场文书
学校世界艾滋病日宣传活动总结
2015/05/05 职场文书