常用的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 学习笔记(七)字符串的连接
Dec 31 Javascript
web css实现整站样式互相切换
Oct 29 Javascript
jquery插件开发之实现jquery手风琴功能分享
Mar 10 Javascript
微信分享的标题、缩略图、连接及描述设置方法
Oct 14 Javascript
Bootstrap每天必学之轮播(Carousel)插件
Apr 25 Javascript
jQuery实现下拉菜单(内容为时间)的实时更新及图表的随动更新的方法
Jul 07 Javascript
jQuery上传多张图片带进度条样式(DEMO)
Mar 02 Javascript
Bootstrap里的文件分别代表什么意思及其引用方法
May 01 Javascript
js异步上传多张图片插件的使用方法
Oct 22 Javascript
vue实现百度下拉列表交互操作示例
Mar 12 Javascript
谈谈我在vue-cli3中用预渲染遇到的坑
Apr 22 Javascript
vue单元格多列合并的实现
Nov 26 Vue.js
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学习之PHP变量
2006/10/09 PHP
PHP类的静态(static)方法和静态(static)变量使用介绍
2012/02/19 PHP
PHP读取数据库并按照中文名称进行排序实现代码
2013/01/29 PHP
PHP基于socket实现的简单客户端和服务端通讯功能示例
2017/07/10 PHP
PHP PDOStatement::setFetchMode讲解
2019/02/03 PHP
三级下拉菜单的js实现代码
2011/05/23 Javascript
Jquery getJSON方法详细分析
2013/12/26 Javascript
让angularjs支持浏览器自动填表
2014/11/10 Javascript
jQuery EasyUI datagrid实现本地分页的方法
2015/02/13 Javascript
JS实现iframe自适应高度的方法(兼容IE与FireFox)
2016/06/24 Javascript
javascript中的try catch异常捕获机制用法分析
2016/12/14 Javascript
jQuery实现鼠标经过显示动画边框特效
2017/03/24 jQuery
原生javascript实现分页效果
2017/04/21 Javascript
Javascript中click与blur事件的顺序详析
2017/04/25 Javascript
原生JS实现N级菜单的代码
2017/05/21 Javascript
JavaScript转换数据库DateTime字段类型方法
2017/06/27 Javascript
详谈Node.js之操作文件系统
2017/08/29 Javascript
BootStrap给table表格的每一行添加一个按钮事件
2017/09/07 Javascript
微信小程序中的店铺评分组件及vue中用svg实现的评分显示组件
2018/11/16 Javascript
解决mui框架中switch开关通过js控制开或者关状态时小圆点不动的问题
2019/09/03 Javascript
关于vue路由缓存清除在main.js中的设置
2019/11/06 Javascript
[05:05]给小松五分钟系列 第二期介绍为什么打DOTA2
2014/07/02 DOTA
Python中的迭代器与生成器高级用法解析
2016/06/28 Python
python中的json总结
2018/10/11 Python
使用python3批量下载rbsp数据的示例代码
2019/12/20 Python
Python Pickle 实现在同一个文件中序列化多个对象
2019/12/30 Python
np.random.seed() 的使用详解
2020/01/14 Python
css3新单位vw、vh的使用教程
2018/03/23 HTML / CSS
HelloFresh奥地利:立即订购烹饪盒
2019/02/22 全球购物
方正Java笔试题
2014/07/03 面试题
百年校庆节目主持词
2014/03/27 职场文书
物流管理专业求职信
2014/05/29 职场文书
客运企业隐患排查工作方案
2014/06/06 职场文书
暑期培训班策划方案
2014/08/26 职场文书
“学党章、守党纪、讲党规”学习心得体会
2016/01/14 职场文书
Android RecyclerView实现九宫格效果
2022/06/28 Java/Android