默认支持的模板引擎:
1 jade (模板比较简洁 html代码区别非常大和使用习惯区别比较大。)
2 ejs (html代码一样)
(1)模板文件后缀.ejs
(2) 开始<% 结束 %>
改标签 包裹进来的代码 都会被js模板内部处理,变成真实数据
1 安装 : npm install ejs --save
2 配置:
app.set('views', 'pages'); //views 是一个固定值 表示模板引擎模板的目录位置 pages文件夹名 app.set('view engine', 'ejs'); //使用什么模板引擎
3 读取模板引擎:
res.render(参数1,参数2);
参数:
1 模板引擎文件的位置 不用写.ejs
2 表示要传递的值(json 字符串 数字);
4 让ejs模板引擎 识别html文件 (.ejs)
1 引入ejs模块
2 设置可以识别后缀
app.engine(’.html’, ejs.__express); //让我的模板引擎可识别html后缀的文件
3 res.render(‘1.html’,)
//html页面
<table>
<tr>
<th>姓名</th>
<th>年龄</th>
<th>电话</th>
</tr>
<% if(data.display == 1){%>
<%var data = data.datalist;%>
<% for(var i in data){%>
<tr>
<td><%= data[i]['name']%></td>
<td><%= data[i]['age']%></td>
<td><%= data[i]['tel']%></td>
</tr>
<%}%>
<% }else{ %>
<tr>
<td colspan="3">合并</td>
</tr>
<%}%>
</table>
var path = require('path');
var ejs = require('ejs');
//配置模板引擎
app.set('views',path.join(__dirname,'pages'));//views是一个固定值,表示模板引擎目录位置
app.engine('.html',ejs.__express);//让ejs识别html文件
app.set('view engine','ejs')//使用ejs模板引擎
app.get('/', function (req, res) {
var data={
display:1,
datalist:[
{name:'张三',age:20,tel:1234567},
{name:'李四',age:30,tel:1233456}
]
}
res.render('1.html',{data:data}); //渲染
})
app.listen(8081, function () {
console.log("完成")
})