时间:2021-05-26
关于functmpl
functmpl 是一个基于JavaScript/Nodejs的高扩展性的模板引擎
模板格式
<#包含/>
如果想在一个模板中插入另一个模板,可以使用<#包含/>
比如插入模板 a.ftl :
<#"a.ftl"/>
<@功能/>
除了输出变量、包含模板外,也可以加入更多自定义的功能,比如:枚举、赋值
但额外的功能需要自定义。
自定功能的具体格式为
<@功能名称 参数名=参数值/>
<@功能名称 参数名=参数值>
子节点
</>
其中,参数名/参数值可以没有或者含有多对。
参数值可以是变量名,或者是JSON
子节点内容可以是普通内容、<=输出/>、<#包含/>或者<@功能/>
<`表达式`>
如果只是执行表达式,可以使用<`表达式`>
<`=输出`>
如果想输出一个变量的值,可以使用<=输出/>
比如输出变量 val 的值
<\`=val\`>
如何使用
获得functmpl
使用npm 或者 git
npm install functmplgit clone git@github.com:wangchenxunum/functmpl.gitgit 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 { //读取文件失败 }});声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
某个流程或关注点是怎么影响可扩展性的。答案通常相同,即组织中的人员或流程会创造应用的可扩展性,也会破坏它的可扩展性。这应该不会让你感到意外。如果没有正确的团队支
发展趋势:html(超文本标记语言)——xhtml(可扩展性超文本标记语言)——xml(可扩展性标记语言);ht
那么这些关于成本、质量、速度和范围的权衡决策是如何影响系统的可扩展性呢?正如上一章提到的,对于扩展项目或基础设施项目来说,可扩展性与这些权衡之间有着简单明了的关
·可读性 JSON和XML的可读性可谓不相上下,一边是建议的语法,一边是规范的标签形式,很难分出胜负。 ·可扩展性 XML天生有很好的扩展性,JSON当然
软件可扩展性是一个有趣的话题。实现软件可扩展性涉及很多因素,我们在本文将讨论一些与开发和运维方面相关的因素。我们将深入讨论如何编写软件(软件开发)以及如何运行软