常用的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 相关文章推荐
JScript中的undefined和&quot;undefined&quot;的区别
Mar 08 Javascript
LazyForm jQuery plugin 定制您的CheckBox Radio和Select
Oct 24 Javascript
Javascript匿名函数的一种应用 代码封装
Jun 27 Javascript
javascript+xml实现简单图片轮换(只支持IE)
Dec 23 Javascript
Jquery 实现grid绑定模板
Jan 28 Javascript
JS简单设置下拉选择框默认值的方法
Aug 20 Javascript
轻松实现jquery选项卡切换效果
Oct 10 Javascript
jQuery中each方法的使用详解
Mar 18 jQuery
vue.js使用3DES加密的方法示例
May 18 Javascript
webpack4之SplitChunksPlugin使用指南
Jun 12 Javascript
浅谈vue项目4rs vue-router上线后history模式遇到的坑
Sep 27 Javascript
Vue页面跳转传递参数及接收方式
Sep 09 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
substr()函数中文版
2006/10/09 PHP
php 图片上传类代码
2009/07/17 PHP
不要轻信 PHP_SELF的安全问题
2009/09/05 PHP
Session服务器配置指南与使用经验的深入解析
2013/06/17 PHP
隐藏Nginx或Apache以及PHP的版本号的方法
2016/01/03 PHP
php session的锁和并发
2016/01/22 PHP
ThinkPHP3.2.3实现分页的方法详解
2016/06/03 PHP
js/jquery获取浏览器窗口可视区域高度和宽度以及滚动条高度实现代码
2012/12/17 Javascript
浅谈Node.js中的定时器
2015/06/18 Javascript
CKEditor无法验证的解决方案(js验证+jQuery Validate验证)
2016/05/09 Javascript
Nodejs全局安装和本地安装的不同之处
2016/07/04 NodeJs
详解tween.js的使用教程
2017/09/14 Javascript
详解node服务器中打开html文件的两种方法
2017/09/18 Javascript
vue中mint-ui的使用方法
2018/04/04 Javascript
react配合antd组件实现的管理系统示例代码
2018/04/24 Javascript
对angular 监控数据模型变化的事件方法$watch详解
2018/10/09 Javascript
微信小程序实现选项卡效果
2018/11/06 Javascript
基于vue实现一个神奇的动态按钮效果
2019/05/15 Javascript
详解Vue中CSS样式穿透问题
2019/09/12 Javascript
vue实现登录拦截
2020/06/29 Javascript
JavaScript JSON使用原理及注意事项
2020/07/30 Javascript
在vue中使用jsonp进行跨域请求接口操作
2020/10/29 Javascript
[57:24]LGD vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python数据结构与算法之使用队列解决小猫钓鱼问题
2017/12/14 Python
python中时间模块的基本使用教程
2019/05/14 Python
使用 python pyautogui实现鼠标键盘控制功能
2019/08/04 Python
python列表生成器迭代器实例解析
2019/12/19 Python
Python字符编码转码之GBK,UTF8互转
2020/02/09 Python
详解pyinstaller生成exe的闪退问题解决方案
2020/06/19 Python
python爬虫beautifulsoup库使用操作教程全解(python爬虫基础入门)
2021/02/19 Python
基于PyTorch中view的用法说明
2021/03/03 Python
微软加拿大官方网站:Microsoft Canada
2019/04/28 全球购物
澳大利亚设计师服装在线:MISHA
2019/10/07 全球购物
自动化专业职业生涯规划书范文
2014/01/16 职场文书
2015教师个人德育工作总结
2015/07/22 职场文书
React forwardRef的使用方法及注意点
2021/06/13 Javascript