介绍template
模板引擎是为了使用户界面与业务数据(内容)分离而产生的, 其本身并不是一种深奥的技术.
template模板引擎首先会将合法的模板编译为lua函数, 然后将模板文件和数据通过模板引擎生成一份HTML代码.
cf的admin库整使使用了template来构建服务端渲染页面, 并利用单页面+iframe模式快速完成lua后台开发.
1. template基础语法
在真正使用之前, 我们先来学习一下template常见的一些基本语法:
{ { lua expression }} - lua expression是一段lua表达式; 作用为输出表达式的结果, 一些特殊符号将会被转义;
{* lua expression *} - lua expression是一段lua表达式; 作用为输出表达式的结果, 不会转义任何符号;
{% lua code %} - 执行一段lua代码, 如: {% for i = x, y do %} ... {% end %};
{# comments #}- comments仅作为注释, 不会包含在输出字符串内. 这段语法的作用类似lua内的--与--[[]];
{(template)} - 导入其它模板文件; 同时支持传参: {(file.html, { message = "Hello, World" })};
2. 转义字符
& 将会转义为 &
< 将会转义为 <
> 将会转义为 >
" 将会转义为 "
' 将会转义为 '
/ 将会转义为 /
3. API
template.compile(html)
参数html为字符串类型, 可以是:模板文件路径、