当前项目中需要使用的模板引擎,对我们前端来说基本没有学习成本,就是js 和html+css
1.安装
npm i ejs --save
2.设置模板引擎和目录
view engine 是固定固定的字符串
Views 也是固定的字符串
app.set('view engine','ejs');
app.set('views',path.join(__dirname,'views'))
3.使用
要把ejs显示出来,就必须通过路由的render方法
app.get('/test2',function(req,res){
res.render('test2')
})
render方法
参数1:模板名称, 会自行去模板目录里面找名字相同的文件
参数2: 需要返回到模板里面数据
app.get('/test1',function(req,res){
res.render('test1',{
name:'young',
age:'<h2>18</h2>',
login:false,
arr:[
{name:'yy1',age:18},
{name:'yy2',age:17},
{name:'yy13',age:20},
{name:'yy12',age:17}
]
})
})
4.ejs标签
<%- %> 解析输出,会解析html
<%= %> 转义输出, 把html转换成字符串输出
<%%> 脚本标签 ,可以用控制显示或者循环输出
控制显示
<div>
<% if(login){ %>
<span>young</span>
<span>发表文章</span>
<span>退出</span>
<% }else{ %>
<span>登录</span>
<span>注册</span>
<%}%>
</div>
循环输出
<div>
<ul>
<% for(var i=0; i<arr.length; i++){ %>
<li><%= arr[i].name %> -<%= arr[i].age %> </li>
<% } %>
</ul>
</div>
5.include 包含
可以提取页面中的公共部分, 然后用include引进来
<%- include('header') %>
6.注意
在ejs页面中,需要引入的资源,都得放在静态目中!!