关于functmpl
functmpl 是一个基于JavaScript/Nodejs的高扩展性的模板引擎
模板格式
<#包含/>
比如插入模板 a.ftl :
<#"a.ftl"/>
<@功能/>
除了输出变量、包含模板外,也可以加入更多自定义的功能,比如:枚举、赋值
自定功能的具体格式为
<@功能名称 参数名=参数值/> <@功能名称 参数名=参数值> 子节点 > 其中,参数名/参数值可以没有或者含有多对。
参数值可以是变量名,或者是JSON
子节点内容可以是普通内容、<=输出/>、<#包含/>或者<@功能/>
<`表达式`>
如果只是执行表达式,可以使用<`表达式`>
<`=输出`>
比如输出变量 val 的值
<\`=val\`>
如何使用
获得functmpl
使用npm 或者 git
rush:bash;">
npm install functmpl
git clone [email protected]:wangchenxunum/functmpl.git
git clone [email protected]:wangchenxunum/functmpl.git
引入到Nodejs
let functmpl = require('functmpl');
引入到浏览器
模板解析器实例
rush:js;">
//创建一个解析器
let ftl = functmpl();
//加入功能处理器
ftl.use(functmpl.func);
//模板解析
ftl.template = '\n\
\n\
\n\
<`=title`> \n\
\n\
\n\
<@enum key="key" value="value" var=list>\n\
<@scope>\n\
<@set key="key" value="1" type="create"/>\n\
<`=key`>:<`=value`>
\n\ >\n\ <`=key`>:<`=value`>
\n\ >\n\ \n\ ' //设置模板位置如果使用<#包含/>,必须要有一个基本的相对位置 ftl.filename = 'template.ftl'; //也可以直接读取模板文件 ftl.loadFile('template.ftl',function(status){ if (status) { //读取文件成功,并且已经解析 //调用模板生成数据 ftl.parse(function(text){ //当生成完毕后调用回调函数 console.log("生成完成:\n" + text); },JSON.parse(data.value)); } else { //读取文件失败 } });
\n\ >\n\ <`=key`>:<`=value`>
\n\ >\n\ \n\ ' //设置模板位置如果使用<#包含/>,必须要有一个基本的相对位置 ftl.filename = 'template.ftl'; //也可以直接读取模板文件 ftl.loadFile('template.ftl',function(status){ if (status) { //读取文件成功,并且已经解析 //调用模板生成数据 ftl.parse(function(text){ //当生成完毕后调用回调函数 console.log("生成完成:\n" + text); },JSON.parse(data.value)); } else { //读取文件失败 } });
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。