一、ejs:模板語言,通過數據和模板,生成html標記文本
二、下載:進入項目目錄 npm install ejs(@1.0.0)
三、成員函數:
Render(str,data,[option]):直接渲染字符串生成HTML
Compile(str,[option]):編譯字符串得到模板函數
option:
Cache[boolean]:是否緩存,需要filename
Filename[string]:緩存名稱
Context[object]:執行上下文函數
compileDebug[boolean]:表示是否編譯debug
Client[boolean]:表示是否在客戶端執行
Delimiter[string]:表示是否設置debug狀態
_with[boolean]:是否使用”with(){}“函數
四、常用標籤
<% %>流程控制標籤
<%= %>輸出標籤(原文輸出HTML標籤)
<%- %>輸出標籤(HTML會被瀏覽器解析)ps 可遭惡意攻擊
<%# %>註釋標籤
%對標記轉義
-%>去掉沒用的空格
五、客戶端使用
六、服務端使用
views:當前視圖所在的目錄
view cache:當前視圖緩存
view engine: 視圖引擎 ejs/jade
①
app.get("/ejs1",function(req,res){
res.render("ejs1.ejs",{templateObj:templateObj})
})
②
var ejs2 = require("ejs2");
app.get("/ejs2",function(req,res){
ejs2.delimiter = "$";
var template = fs.readFileSync("./public/views/ejs2.ejs","utf-8");
var html = ejs2.render(template,{templateObj:templateObj},{cache:true,client:true,debug:true,_with:false,filename:'ejs2.ejs'})
})
七、過濾器<%=: |:%>,可鏈式使用(注意:有:號,只有ejs1可用過濾器)
如<%=: templateObj.data.age|plus:5%>
對數字操作,字符串操作,數組操作,對象操作
plus、minus、times...
八、導入include