node.js模块引擎
生活随笔
收集整理的這篇文章主要介紹了
node.js模块引擎
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、什么是模版引擎
?模版引擎是一個從頁面模版根據一定的規則生成HTML的工具,PHP首發,隨后出現了ASP、JSP都沿用這個模式,即建立一個HTML頁面模版,插入可執行的代碼。運行時動態生成HTML。????????缺點:
頁面功能邏輯與頁面布局樣式耦合,網站規模變大以后逐漸難以維護 語法復雜,對于非技術的網頁設計者來說門檻高,難以學習。 功能過于全面,頁面設計者可以在頁面上編程,不利于功能劃分,也使模版解析效率降低。 后來MVC架構的誕生,模版引擎包含在服務器端,控制器得到用戶請求后,從模型獲取數據,調用模版引擎,模版引擎以數據和頁面模版為輸入,生成HTML頁面,然后返回給控制器。 由控制器交回客戶端。二、使用模版引擎
基于javascript的模版引擎有許多種實現,我們推薦使用ejs,它學習起來簡單,與express集成良好,它的標準是javacript實現的,它不僅可以運行在服務器端,還可以運行在瀏覽器中。服務端運行ejs,這樣減少了對瀏覽器的依賴,而且更符合傳統架構的習慣。????????分析工程運行:
app.set("views",__dirname+"/views");?? 指定頁面模版的存放目錄 app.set("view engine","ejs")???? 使用ejs模版引擎 res.render('index',{title:'pcat'})? 調用模版引擎,接受兩個參數, 參數一:模版的名稱,即views目錄下的模版文件名,不包括擴展名, 參數二:傳遞給模版的數據。????????ejs的標簽:
1.<% code %>? JavaSctipt代碼 2.<%=code%> 顯示替換過HTML特殊字符的內容 ????????????3.<%-code%>? 顯示原始HTML內容三、頁面布局
??Express從2.x升級到3.x, ejs不支持模版引擎,jade支持 layout.ejs是一個模版布局模版,它描述整個頁面的框架架構,默認情況下每個單獨的頁面都繼承自這個框架,替換掉<%-body%>部分,這個功能非常有用。???????????1.?一般為了保持整個網站的一致風格,HTML的<head>部分以及底部,的大量內容是重復的,因此我們可以把它們放到layout.ejs中,然后把body填充成自定義部分即可。
如果想關閉它則 app.set('view options',{ layout:false })????????????2.如果網站不止需要一種頁面布局,例如后臺和前臺,那么我們可以在調用視圖模版的時候指定上layout.(ejs的寫法)
.????????????????ejs的實現:?res.render('userlist',{
title:"后臺管理", ?layout:'admin'??? // 它就會尋找admin.ejs的布局模版。 })?????????????????jade的實現:
在我們的請求的目的頁面中第一句話寫上extends(繼承)?模版布局模版名\ 例如: extends layout??????? 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的node.js模块引擎的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 邻接表的构建、DFS、BFS搜索
- 下一篇: 排序分析