发布一个开源极致的javascript模板引擎tpl.js
tpl.js(大家直接去https://git.oschina.net/tianqiq/tpl.js这个上面看)
简介
tpl.js是一个比较极致(极小,极快,极简单)的js模板引擎,可以在各种js环境中使用。
特性
1. 使用js作为模板语言,几乎无学习成本
2. 小巧,速度快到极致
3. 极简的语法,模板书写非常流畅
4. mit开源,无限制
语法说明
简述
tpl.js中模板语法中以行为单一,分为js行语句,和输出行语句。顾名思义,js行语句是编译时候会当做js执行的语句,
而输出行语句,则是会输出为html。
具体语法
1. 以行为单位,每一行作为语句块,并去掉行前后空白字符
2. 如果行不是以<(左尖括号)开头,则视为js,如果不是,则视为该行为输出行
3. 如果行以!(叹号)开头,也视该行为输出行。如 !aa
4. 在输出行中通过@{exp}这样的表达式作为js变量输出。@{item.name}
5. 如果exp以.(点)开头,则自动解析为上个exp表达式中最后一个点的前面部分。如@{.name},将自动解析为@{item.name}
6. 如果4中exp无特殊字符,如"、'、'<、 >等。则可以省略{}中括号。如@.item.name @.name @func(item) @list[i]
7. 如果行以!!2个叹号开头,则视该行为纯输出行,不解析@表达式,原样输出。如!!abc@def
8. 如果行中出现@又不想要tpl.js解析,则通过\转义。如\@abc
示例

API
tpl.html(tplText,daata)
通过传递tplText模板,和数据data直接获取模板生成的html代码。
tpl.func(tplText)
将tplText编译为一个函数,该函数参数在模板中通过tplData引用。 调用后返回模板编译后的html代码。
tpl.render()
自动渲染整个网页中的<script type="tpl">标签中的模板。并能保证html dom中原有的结构。相当于替换掉了原来的<script type="tpl">标签
最后
上面的文档包括了tpl.js所有的语法了,欢迎大家测试与反馈。
源码地址:https://git.oschina.net/tianqiq/tpl.js
测试地址:http://runjs.cn/code/wlztch4d
真的无语,上面文档里面```html
折腾半天,也不知道怎么搞。大家直接去https://git.oschina.net/tianqiq/tpl.js这个上面看吧。哎...
发布一个开源极致的javascript模板引擎tpl.js的更多相关文章
- Javascript模板引擎mustache.js详解
mustache.js是一个简单强大的Javascript模板引擎,使用它可以简化在js代码中的html编写,压缩后只有9KB,非常值得在项目中使用.本文总结它的使用方法和一些使用心得,内容不算很高深 ...
- JavaScript模板引擎Template.js使用详解
这篇文章主要为大家详细介绍了JavaScript模板引擎Template.js使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 template.js 一款 JavaScript 模板引 ...
- 探究Javascript模板引擎mustache.js使用方法
这篇文章主要为大家介绍了Javascript模板引擎mustache.js使用方法,mustache.js是一个简单强大的Javascript模板引擎,使用它可以简化在js代码中的html编写,压缩后 ...
- JavaScript模板引擎artTemplate.js——为什么使用模板引擎?
作为一个工作一年的菜鸟,在公司做了几个外包项目,也接触到了不同形式的web开发.其实也没多少,就是javaweb开发和HTML5移动开发,这两者在页面展示的时候的解决方案还是有所不同的. 1.vo+e ...
- JavaScript模板引擎artTemplate.js——如何引入模板引擎?
artTeamplate.js在github上的地址:artTemplate性能卓越的js模板引擎 引入模板引擎,就是引入外部javascript啦,并且artTemplate.js不依赖其他第三方库 ...
- JavaScript模板引擎artTemplate.js——结语
再次首先感谢模板的作者大神,再次放出github的地址:artTemplate性能卓越的js模板引擎 然后感谢博客园的一位前辈,他写的handlebars.js模板引擎教程,对我提供了很大的帮助,也是 ...
- javascript模板引擎template.js使用
到GitHub上下载template.js库.引入到页面 以type="text/html" 这样指定javascript类型的是一种javascript模板渲染方法,在实际项目中 ...
- JavaScript模板引擎artTemplate.js——template.compile()方法
template.compile(source, options) source:必传,渲染模板的内容. options:可选,通常不传.(其实是我还没研究明白) return:一个渲染函数. 示例如 ...
- JavaScript模板引擎artTemplate.js——template()方法
template(id, data)方法: id:必传,渲染模板的id. data:可选,一个Object对象. return:传data—>渲染完成html代码:不传data—>一个渲染 ...
随机推荐
- web前端基础知识 - Django进阶
1. 路由系统 1.1 单一路由对应 url(r'^index$', views.index), 1.2 基于正则的路由 url(r'^index/(\d*)', views.index), url( ...
- CCNET+MSBuild+SVN实现每日构建
最近开始将源代码迁移到SVN,于是便考虑到如何从SVN定期获取源码,自动编译并部署以减轻工作量并提高工作效率.通过多方搜集资料并进行研究,基本实现了这个功能.对于每日构建的概念就不具体展开了,可以在各 ...
- Struts2相关面试题
Struts2面试题 1.struts2工作流程 Struts 2框架本身大致可以分为3个部分: 核心控制器FilterDispatcher.业务控制器Action和用户实现的企业业务逻辑组件. 核心 ...
- Azure Web Site 之 利用Azure Web site 发布网站
由于经常混迹于MSDN Azure论坛,少不了和一些外国朋友打交道.有的时候觉得还是有一些东西可以写出来与外国友人们分享下的, 所以就用一个开源项目建了一个英文blog项目. 在发布的时候,首选的就是 ...
- Linq to SQL 的增删改查操作
Linq,全称Language Integrated Query,是C#语言的一个扩展,可以将数据查询直接集成到编程语言本身中. Linq分为查询语法和方法语法,说白了查询语法就是 from wher ...
- nodejs ejs 请求路径和静态资源文件路径
/XXX 会跳转到 http://域名:端口/XXX ./XXX 会跳转到 当前路径+/XXX XXX(../XXX) 会跳转到 当前路径父级+XXX
- 初始python第三天(三)
全局变量与局部变量 1.什么是全局变量 在globals中的变量,都是全局变量,全局变量的作用域就是整个程序 NAME = 'alex' def global_test(): name = 'alex ...
- iOS · UILabel加删除线
创建自定义子类DeleteLineLabel,继承自UILabel,然后在自定义子类DeleteLineLabel中 方法一(上下文): - (void)drawRect:(CGRect)rect { ...
- XPlane android 2D手游开发实战
android 飞行射击游戏类 采用 xamarin 跨平台开发技术 纯C#语言编写 操作简单 1.手指拖动飞机 躲避敌机 2.通过吃敌机爆炸后遗落的物品增加各种属性 3.双击战机放大技能 4.目前 ...
- c++源文件后缀名
C中: 头文件后缀名: .h 源文件后缀名: .c C++中: 头文件后缀名: .h, .hpp, .hxx 源文件后缀名:.cpp, .cc, .cxx, .C .c++ 现 ...