高性能模板引擎 (js template)
极简高性能模板引擎
本模板引擎主要解决以下问题
with
parseInt
, Math
, JSON
等)this.value
, data.value
, it.value
<!DOCTYPE html>
<html>
<head>
<!-- 1: 引入wutpl,支持 es6 requireJS seaJS -->
<script src="../wutpl.js"></script>
</head>
<body>
<!-- 2: 编写模板 -->
<div id="tpl">
{for list item}
<span>{item}</span>
{/for}
</div>
<!-- 3: 编译与渲染 -->
<script>
var render = wutpl(tpl)
render({
list: [1, 2, 3]
})
</script>
</body>
</html>
npm i -D wutpl
or
<script src="../wutpl.js"></script>
var render = wutpl(tpl)
var html = render(data)
var html = wutpl(tpl, data)
{for array item index?} {/for}
{for object value key? index?} {/for}
{if bool} yes {else} no {/if}
{text}
{#html}
<!-- 如果用html节点做为模板,浏览器解析到该节点马上就请求{src},会有一个不必要的404 -->
<img src="{src}">
<!-- 可以这样去掉这个404 -->
<img wutpl-src="{src}">
<!-- 如果用html节点做为模板, `<table>` 等标签之间是不允许有文本的,可用注释写法 -->
<table>
<tbody>
<!-- {for list item} -->
<tr>
<td>{item.name}</td>
</tr>
<!-- {/for} -->
</tbody>
</table>
默认
wutpl.leftTag = '<!-- {|{'
wutpl.rightTag = '} -->|}'
可以自定义为双花括号
wutpl.leftTag = '<!-- {{|{{'
wutpl.rightTag = '}} -->|}}'