ejs母版

ejs母版頁讓你的node.js應用開發更快更有效- 一介布衣

引子:

母版頁之方便之處相信做過web開發的都不用說太多,可以重複利用資源,維護方便,開發起來你只需關注當前頁變動的東西,固定不變的全部放到母版頁,可以理解爲前人栽樹後人乘涼,省時,省力,省心.下面圍繞2點簡單說下.

一.node.js開發,基於ejs引擎的母版頁

二.前提環境 ,如何使用及示例介紹


  1. 就像上面的這個圖,如果你的業務說覆蓋的頁面只有中間是變化的,那麼其他部分完全可以放到母版頁中呈現.

    node.js 下的web應用開發有2種模板引擎 ejs 和 jade ,當然你可能直接用jquery 的前端模板後端ajax請求數據等等....(也算一種吧)

    ejs 下如何使用母版頁?

  2. ejs的母版頁功能支持需要依賴一個第三方包 ejs-mate 可以根據npm install ejs-mate 直接安裝 Express 需要4.0以上

    安裝後使用方法如下:

var app = express();
app.set('view engine', 'html');
app.engine('html', require('ejs-mate'));
app.locals._layoutFile = 'layout.html';

上面指定ejs引擎渲染html 文件,接着指定使用 ejs-mate 做母版頁引擎,最後指定 母版頁是 layout.html

這裏有個 app.locals 這個變量,提一句,可以把 locals 理解成客戶端的一個全局變量,我們現在給變量的_alyoutFile 屬性賦值 'layout.html'

這樣在後端指定母版頁的好處是,你不需要在view中的html頁面裏特定指定誰是你的母版頁.


如果上面最後一句你不寫,需要在前端每個頁面指定渲染的母版頁,假設 index.ejs 套用母版頁前代碼如下:

<% layout('layout.html') -%>
<span>Hello World!</span>


如果你的母版頁是這樣的:

<!DOCTYPE html>
<html>
  <head>
    <title>It's title</title>
  </head>
  <body>
    <section>
      <%-body -%>
    </section>
  </body>
</html>

上面的<%-body %> 就是每個頁面的變體,就是你要專心關注的東西.

上面的 index.ejs 套用母版頁之後渲染出的html如下:

<!DOCTYPE html>
<html>
  <head>
    <title>It's title</title>
  </head>
  <body>
    <section>
      <span>Hello World!</span>
    </section>
  </body>
</html>

可以看出來 上面index.ejs 裏的全部代碼 (除去母版頁引用聲明代碼 <% layout('layout.html') -%> ) 都填充到了母版頁的 <%-body %>處.


到這裏就簡單的介紹完了node.js下ejs引擎的母版頁使用方法,簡單好用,提高效率- 一介布衣

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章