express高效入門教程(5)

5.ejs模版

#5.1.什么是模版引擎翅阵?

為了使用戶界面與業(yè)務(wù)數(shù)據(jù)(內(nèi)容)分離而產(chǎn)生的,它可以生成特定格式的文檔迁央,用于網(wǎng)站的模板引擎就會生成一個標(biāo)準(zhǔn)的HTML文檔掷匠。

image

在后端開發(fā)中,處理數(shù)據(jù)的代碼和展示數(shù)據(jù)的代碼是分離的岖圈,這就是前面說的讹语,用戶界面和業(yè)務(wù)數(shù)據(jù)內(nèi)容分離,但是真的展現(xiàn)到前端給用戶看到的界面都是數(shù)據(jù)和界面融合在一起的蜂科,模版引擎的作用就是把html文件和后端的數(shù)據(jù)柔和在一起生成一個html文件返回給前端展示顽决,這種方式又叫做服務(wù)端渲染。

#5.2.在express中使用ejs模版引擎

第一步导匣,安裝ejs

npm install ejs --save

第二步才菠,在app.js中引入ejs

var ejs = require('ejs')

第三步,設(shè)置express的模版文件夾贡定,app.set方法赋访,表示設(shè)置某個屬性名的value,例如:設(shè)置express的views缓待,views指express中模版文件的路徑蚓耽,路徑的值為第二個參數(shù)給的值

app.set('views', path.join(__dirname, 'views'))

第四步,告訴express使用ejs來作為模板引擎命斧,并且設(shè)置模板文件后綴

app.engine('html', ejs._express)

第五步田晚,注冊模板引擎

app.set('view engine', 'html')

第六步,ejs模板引擎初體驗

1.在"/"路由中国葬,渲染"index.html"文件,并帶參數(shù)

app.get('/', function (req, res){
  // res.sendFile(path.resolve('./views/index.html'))
  res.render('index.html', {title: '螺釘課堂!;闼摹接奈!'})
})

2.在‘index.html’文件中去使用數(shù)據(jù)

<h1><%= title %></h1>

#5.3.ejs的常用語法

1.基本語法,后臺數(shù)據(jù)是融和在html模板中的通孽,在html模板中序宦,通過自定義標(biāo)簽的形式來區(qū)分到底是ejs的標(biāo)簽還是html的標(biāo)簽 例如:

<%= title %>

常用的標(biāo)簽:

1、<% if|for %> 這種叫做腳本標(biāo)簽背苦,用于寫流程控制  

2互捌、<%= 變量 %> 這種標(biāo)簽的作用是把數(shù)據(jù)輸出到html 

3、<%- %>這種標(biāo)簽的作用和<%= %>相同行剂,區(qū)別是這種標(biāo)簽可以解析html秕噪,<%= %>這種標(biāo)簽會把html標(biāo)簽給轉(zhuǎn)義了

2.流程控制語句

  • if 語句
// 1.后臺傳入一個 isLogin字段
app.get('/', function (req, res){
  // res.sendFile(path.resolve('./views/index.html'))
  res.render('index.html', {title: '螺釘課堂!:裨住腌巾!', isLogin: false})
})

// 2.在模板中使用這個isLogin字段來做判斷
<% if (isLogin) { %>
  <div id="wrap">
      <a href="/login">歡迎admin,登錄2酢3候!</a>
      <a href="/user">用戶中心</a>
  </div>
<% } else { %> 
  <div id="wrap">
      <a href="/login">登錄 | </a>
      <a href="/user">用戶中心</a>
  </div>
<% } %>

  • for循環(huán)渲染
// 1.在后臺傳入一個數(shù)組
app.get('/', function (req, res){
  // res.sendFile(path.resolve('./views/index.html')) 
  var userList = [
    {name: '張飛', age: 29},
    {name: '關(guān)羽', age: 30},
    {name: '劉備', age: 31},
  ]
  res.render('index.html', {title: '螺釘課堂D煊摹5朴!', isLogin: false, userList: userList})
})

// 2.在模板中循環(huán)出這個數(shù)組
<ul>
  <% for (var i = 0; i < userList.length; i++) {%>
  <li><%= userList[i].name %> ----> <%= userList[i].age %></li>
  <% } %>
</ul>

// 3.也可以使用forEach方法來循環(huán)
<ul>
  <% userList.forEach(function (item){%>
    <li><%= item.name %> ----> <%= item.age%></li>
  <% }) %>
</ul>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末盐杂,一起剝皮案震驚了整個濱河市漏麦,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌况褪,老刑警劉巖撕贞,帶你破解...
    沈念sama閱讀 219,589評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異测垛,居然都是意外死亡捏膨,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評論 3 396
  • 文/潘曉璐 我一進店門食侮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來号涯,“玉大人,你說我怎么就攤上這事锯七×纯欤” “怎么了?”我有些...
    開封第一講書人閱讀 165,933評論 0 356
  • 文/不壞的土叔 我叫張陵眉尸,是天一觀的道長域蜗。 經(jīng)常有香客問我巨双,道長,這世上最難降的妖魔是什么霉祸? 我笑而不...
    開封第一講書人閱讀 58,976評論 1 295
  • 正文 為了忘掉前任筑累,我火速辦了婚禮,結(jié)果婚禮上丝蹭,老公的妹妹穿的比我還像新娘慢宗。我一直安慰自己,他們只是感情好奔穿,可當(dāng)我...
    茶點故事閱讀 67,999評論 6 393
  • 文/花漫 我一把揭開白布镜沽。 她就那樣靜靜地躺著,像睡著了一般贱田。 火紅的嫁衣襯著肌膚如雪缅茉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,775評論 1 307
  • 那天湘换,我揣著相機與錄音宾舅,去河邊找鬼。 笑死彩倚,一個胖子當(dāng)著我的面吹牛筹我,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播帆离,決...
    沈念sama閱讀 40,474評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼蔬蕊,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了哥谷?” 一聲冷哼從身側(cè)響起岸夯,我...
    開封第一講書人閱讀 39,359評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎们妥,沒想到半個月后猜扮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,854評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡监婶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,007評論 3 338
  • 正文 我和宋清朗相戀三年旅赢,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片惑惶。...
    茶點故事閱讀 40,146評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡煮盼,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出带污,到底是詐尸還是另有隱情僵控,我是刑警寧澤,帶...
    沈念sama閱讀 35,826評論 5 346
  • 正文 年R本政府宣布鱼冀,位于F島的核電站报破,受9級特大地震影響悠就,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜泛烙,卻給世界環(huán)境...
    茶點故事閱讀 41,484評論 3 331
  • 文/蒙蒙 一理卑、第九天 我趴在偏房一處隱蔽的房頂上張望翘紊。 院中可真熱鬧蔽氨,春花似錦、人聲如沸帆疟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽踪宠。三九已至自赔,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間柳琢,已是汗流浹背绍妨。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留柬脸,地道東北人他去。 一個月前我還...
    沈念sama閱讀 48,420評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像倒堕,于是被迫代替她去往敵國和親灾测。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,107評論 2 356

推薦閱讀更多精彩內(nèi)容