中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Nodejs高擴展性的模板引擎 functmpl簡介

發布時間:2020-10-10 23:42:27 來源:腳本之家 閱讀:150 作者:hebedich 欄目:web開發

關于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 {
    //讀取文件失敗
  }
});

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宣武区| 南溪县| 柳河县| 类乌齐县| 长垣县| 东兴市| 寻乌县| 太和县| 漳州市| 灯塔市| 恭城| 衡阳市| 九江县| 宜川县| 东乡县| 怀柔区| 横峰县| 务川| 西峡县| 万安县| 麦盖提县| 泰来县| 和平县| 博乐市| 平陆县| 长葛市| 重庆市| 太和县| 余江县| 安溪县| 舒城县| 樟树市| 磐石市| 彭州市| 松阳县| 尖扎县| 湖南省| 五河县| 温宿县| 济阳县| 万山特区|