Nodejs高扩展性的模板引擎 functmpl简介
关于functmpl
functmpl 是一个基于JavaScript/Nodejs的高扩展性的模板引擎
模板格式
<#包含/>
如果想在一个模板中插入另一个模板,可以使用<#包含/>
比如插入模板 a.ftl :
<#"a.ftl"/>
<@功能/>
除了输出变量、包含模板外,也可以加入更多自定义的功能,比如:枚举、赋值
但额外的功能需要自定义。
自定功能的具体格式为
<@功能名称 参数名=参数值/>
<@功能名称 参数名=参数值>
子节点
</>
其中,参数名/参数值可以没有或者含有多对。
参数值可以是变量名,或者是JSON
子节点内容可以是普通内容、<=输出/>、<#包含/>或者<@功能/>
<`表达式`>
如果只是执行表达式,可以使用<`表达式`>
<`=输出`>
如果想输出一个变量的值,可以使用<=输出/>
比如输出变量 val 的值
<\`=val\`>
如何使用
获得functmpl
使用npm 或者 git
npm install functmpl git clone git@github.com:wangchenxunum/functmpl.git git clone git@git.oschina.net:wangchenxunum/functmpl.git
引入到Nodejs
let functmpl = require('functmpl');
引入到浏览器
<script src="functmpl.js"></script>
模板解析器实例
//创建一个解析器 let ftl = functmpl(); //加入功能处理器 ftl.use(functmpl.func); //模板解析 ftl.template = '<!DOCTYPE html>\n\ <html>\n\ <head>\n\ <title><`=title`></title>\n\ </head>\n\ <body>\n\ <@enum key="key" value="value" var=list>\n\ <@scope>\n\ <@set key="key" value="1" type="create"/>\n\ <`=key`>:<`=value`><br>\n\ </>\n\ <`=key`>:<`=value`><br>\n\ </>\n\ </body>\n\ </html>' //设置模板位置如果使用<#包含/>,必须要有一个基本的相对位置 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 { //读取文件失败 } });
相关文章
Nodejs中使用puppeteer控制浏览器中视频播放功能
本项目主要功能为在浏览器中自动播放视频,并且实现音量控制,快进快退,全屏控制,播放暂停控制等功能。对Nodejs中使用puppeteer控制浏览器中视频播放功能感兴趣的朋友跟随小编一起看看吧2019-08-08node.js的http.createServer过程深入解析
这篇文章主要给大家介绍了关于node.js的http.createServer过程的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用node.js具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧2019-06-06
最新评论