关于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="/UploadFiles/2021-04-02/functmpl.js">

模板解析器实例

//创建一个解析器
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 {
    //读取文件失败
  }
});

华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。