@asteres/tpr
v0.0.1
Published
简单的页面模板渲染引擎
Downloads
7
Readme
tpr
模板引擎
安装
npm install @asteres/tpr语法
输出
<%= d.value %>
<%= d.data.key %>
<%= d.data['key'] %>
<%= d.a ? d.b : d.c %>
<%= d.a || d.b %>
<%= d.a + d.b %>所有的取值都必须通过
d.访问
原文输出
<%- d.value %>
<%- d.data.key %>
<%- d.data['key'] %>
<%- d.a ? d.b : d.c %>
<%- d.a || d.b %>
<%- d.a + d.b %>原文输出语句不会对
HTML内容进行转义处理,可能存在安全风险,请谨慎使用。
条件
<% if (d.value) { %> ... <% } %>
<% if (d.value) { %> ... <% } else if (d.value) { %> ... <% } %>循环
- 标准语法
<ul>
<% for (let i = 0; i < d.items.length; i++) { %>
<li><%= d.items[i].name %> - <%- d.items[i].raw %></li>
<% } %>
</ul>- 增强语法
提供增强循环 each 通过 each 能够简单、高效、快速实现循环
<ul>
<% each(d.items){ %>
<li><%= $item.name %> - <%- $item.raw %></li>
<% } %>
</ul>切记:
each、(以及)、{之间不能有空格$item、$index为循环的项以及index
API
compile(template: string, options?: TprOptions): Function
编译模板并返回编译后的模板函数
render(template: string | Function, data?: Record<string, any>, options?: TprOptions): string
编译并返回渲染结果
可以直接渲染原始模板,也可以渲染编译后的模板函数
TprOptions选项
/** 是否忽略结果的前后空格 */
trim?: boolean;
/** 是否忽略由模板产生的空行 */
compact?: boolean;