npm.io
3.8.3 • Published 9 years agoCLI

tpjs

Licence
MIT
Version
3.8.3
Deps
3
Vulns
0
Weekly
0

TP 模板引擎

Tp 是一个 “轻量,简洁,高效” 的 javascript 模板引擎!

npm version

简介

+ 轻量,tp是目前能见到最轻量的javascript模板引擎,只有一个不足1.5k的文件。
+ 简洁,tp的语法非常简单,对于一个熟悉html、js的开发人员来说学习难度为 0。
+ 高效,tp支持模板预编译,快于任何一个你所见过的javascript模板引擎。
+ 另外,tp同时支持在浏览器环境使用及服务端javascript环境(Node.js)使用。
联系作者
+ 您可以发邮件到 admin@xhou.net
+ 或者访问 http://www.houfeng.net
+ 关注微博 http://weibo.com/houfeng
在浏览器中吏用
在页面中引入
+ 下载tp
+ 将tp.js或tp-min.js放到项目中合适的位置。
+ 在相关页面用<script src='tp的url'></script>引入tp。
AMD/CMD 方式引用
var tp = require('相对路径');
解析(tp.parse)

代码:

var html='<div>My name is <% $(name) %></div>';
var rs=tp.parse(html,{name:'tp'});

结果:

rs: “<div>My name is tp</div>”
编译(tp.compile)

代码:

var html='<div>My name is <% $(name) %></div>';
var fn=tp.compile(html);
var rs=fn({name:'tp'});

结果:

fn: 编译结果,可以暂存以供调用。
rs: “<div>My name is tp</div>”
HTML元素

HTML:

<script id="list-template" type='text/template'>
<% for(var i in this %>
<li><% $(this[i]) %></li>
<% } %>
</script>

<ul id="list">
</ul>

代码:

//绑定数据:
tp.bind({
	template:'list-template',
	element:'list',
	model:["item-1","item-2"]
}); 
//追加绑定数据:
tp.bind({
	template:'list-template',
	element:'list',
	model:["item-1","item-2"],
	append:true
}); 

结果:

<ul id="list">
<li>item-1</li>
<li>item-2</li>
</ul>
在 Node.js 中使用
安装
[sudo] npm install tpjs [-g]
引用
var tp = require('tpjs');

//解析
var rs = tp.parse(html,options);
//预编译
var fn = tp.compile(html,options);
命令行工具

使用命令行工具需要全局安装 tpjs,如下

[sudo] npm install tpjs -g

CLI 说明

tp <src> <dst>
  1. src: 源文件路径,相对于当前工作目录
  2. dst: 输出的目标路径,相对于当前工作目录

Keywords