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内容。

咱们能够用他们来实现页面模板系统能实现的任何内容。

相关文章
相关标签/搜索