輕量級模板引擎ArtTemplate

2021-09-19 06:40:06 字數 1298 閱讀 5856

這星期做了乙個資料統計系統,基於需求便使用了乙個模板引擎來渲染資料.

在這裡模板引擎同後端的不太一樣,主要是前端在開發過程中,對於資料處理之後插入到html的過程中使用到的工具.

由於系統是迷你型的,在一通搜尋之後便決定採用arttemplate.

arttemplate具有如下特點

常見的模板引擎還有handlebar,mustache,jade等,我只試用過handlebar,個人感覺它太過於沉重,配置起來繁瑣,並不適合小專案的資料渲染.

arttemplate提供了兩種語法選擇,原生語法和簡潔語法

簡潔語法

}}}

}. }

}}

原生語法

<%if (admin)%>

<%}%>

模板引擎的原理是基於正規表示式,對字串進行分析處理.

在兩種語法中,簡介語法易讀性更好,用起來比較順手,比原生語法只多了幾k而已,推薦實用簡潔語法

基本的用法不在此介紹,官網的鏈結寫的很詳細.主要語法如下.

var template = require('art-template');

var data = ;

var html = template(__dirname + '/index/main', data);

最後貼乙個好用的功能------過濾器

在arttemplate中定義為helper,也就是輔助器.這種工具我之前在寫angular也使用到過,我覺得像ng中命名為過濾器更適合.它本意就是乙個資料的過濾器,在過濾器中定義一些方法,使得渲染到頁面的資料是你所需要的.

有點抽象,先貼乙個官方的demo,是乙個日期的過濾器.

上面的例子是完整的乙個日期過濾器的例子,有需要直接複製使用即可.我自己在專案中是用到的是比較簡單一點的,乙個根據資料顯示的不同輸出對應的資料.

核心**如下

就是乙個簡單的資料轉換器,後面針對所有的對應關係將其寫成了乙個物件,再進行過濾

var typeopt = 

template.helper('typefilter', function (type) }}

以上是helper的內容

最後arttemplate還有乙個include的功能,類似php的include函式,不多介紹.

輕量級規則引擎QLExpress

qlexpress 1 規則語言解析 自然語言 程式語言 可執行語言 2 規則動態配置 3 上線和下線管理 費用科目 物流訂單.倉儲tp,倉儲費 物流訂單.重量 0.5 if 物流訂單.重量 5 then else 費用科目 物流訂單.包裝tp,包裝費 物流訂單.重量 2.5 public clas...

QAdmin輕量級後台模板

基於layui框架與vue.js構建 輕量不複雜 簡潔不簡單 npm i qadmin qadmin站長之家 dist 構建後的 qadmin html 經典版 data 模擬資料目錄 menu.json 左側選單 static 靜態資源 admin 後台資源目錄 js js目錄 config.js...

輕量級重量級

輕量級重量級某種程度上是以啟動程式需要的資源來決定。比如,ejb啟動的時候,需要消耗大量的資源,記憶體,cpu等,所以是重量級。而spring則不,所以是輕量級框架。量級主要是看對容器的依賴性所決定的,依賴性越小,越輕量.ejb往往內部做了很多服務,網上的說法是買一得三 而且你不想要就不行!比方說我...