node.js ejs的视图模块引擎
生活随笔
收集整理的這篇文章主要介紹了
node.js ejs的视图模块引擎
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、版本升級
???Express從2.0升級到3.0,將ejs的用法忽略,改為用戶自定義形式。 引入ejs/index.js的模塊,來支持ejs的模版引擎二、引入引擎的模塊,然后在app中調(diào)用engine函數(shù)改造ejs引擎
app.engine('ejs', engine); 將layout.ejs設(shè)置成默認(rèn)的布局模版 app.locals._layoutFile='layout' 三、如果項目分前后臺,那么只有一個布局模版,怎么辦?????????res.render('pcat',{_layoutFile:'pcatlayout'});//調(diào)用模版引擎的時候指定模版
四、片段視圖
Express的視圖系統(tǒng)還支持片段視圖,它就是一個頁面的片段,通常是重復(fù)的內(nèi)容,用于迭代顯示,通過它你可以將相對獨立的頁面塊分割出去,而且可以避免顯示的使用for循環(huán)。 partial是一個可以在視圖中使用的函數(shù),它接受兩個參數(shù),第一個是片段視圖的名稱,第二個可以是一個對象或一個數(shù)組,如果是一個對象,那么片段視圖上下文變量引用的就是這個變量,如果是一個數(shù)組,那么其中每個元素一次被迭代應(yīng)用到片段視圖。片段視圖中上下文變量名就是視圖文件名。 list.ejs?? listitem.ejs???五、視圖助手。
允許在視圖中訪問一個全局的函數(shù)或?qū)ο?#xff0c;不用每次調(diào)用視圖解析的時候單獨傳入, 視圖助手分為兩類,分別是靜態(tài)視圖助手和動態(tài)視圖助手,這兩者的差別在于,靜態(tài)視圖注助手可以是任何類型的對象,包括接受任意參數(shù)的函數(shù),但訪問到的對象必須是用戶請求無關(guān)的。而動態(tài)視圖助手只能是一個函數(shù)。這個函數(shù)不能接受任何參數(shù),但是可以訪問req和res兩個對象。????????靜態(tài)視圖助手:????????????????
app.locals({ inspect:function(obj){ return util.inspect(obj,true)+"??? 解析成功"; } })????????動態(tài)視圖助手:
res.locals({ headers:function(req,res){ return req.headers; } }) 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的node.js ejs的视图模块引擎的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: socket网络编程实现远程备份
- 下一篇: 最简逆波兰模板