MVC中的V視圖-ejs模板引擎的使用

Template Engine是一個從頁面模板(html頁面模板)根據必定的規則(插入可執行的代碼)生成(運行時動態生成)HTML的工具。html

在MVC架構中,模板引擎包含在服務器端,控制器(Express即C)獲得用戶請求後,從模型(M)獲取數據,調用模板請求(ejs)。模板請求(ejs)以數據(模型M)和頁面模板(ejs視圖V)爲輸入,生成HTML頁面,而後返回給控制器(Express即C),由Express控制器交回給客戶端。服務器

在app.js中經過如下語句設置了模板引擎和頁面模板的位置:架構

var path = require(‘path’);app

//view engine setup函數

app.set('views', path.join(__dirname, 'views'));工具

app.set('view engine', 'ejs');ui

代表要使用的模板引擎是ejs,頁面模板在views子目錄下。在routes/index.js的module.exports = router函數中經過以下語句調用模板引擎:翻譯

res.render('index', {title: 'Express'});code

render的功能是調用模板引擎,並將其產生的頁面直接返回給客戶端。它接受兩個參數,第一個是模板的名稱,即views目錄下的模板文件名,不包含文件的擴展名;第二個參數是傳遞給模板的數據,用於模板翻譯。router

<h1><%= title %></h1>
<p>Welcome to <%= title %></p>

上面代碼中有兩處<%= title %>,用於模板變量顯示,它們在模板翻譯時會被替換成Express,由於res.render傳遞了{title: 'Express'}。

ejs的標籤系統很是簡單,它只有如下三種標籤。

<% code %>:JavaScript代碼。

<%= code %>顯示替換過HTML特殊字符的內容。

<%- code %>顯示原始HTML內容。

咱們能夠用他們來實現頁面模板系統能實現的任何內容。

相關文章
相關標籤/搜索