日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

node.js模块引擎

發布時間:2024/8/23 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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模块引擎的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。