ejs官网
安装
首先npm安装ejs包
cnpm i ejs --save
设置
express定义模版引擎和模版目录
app.set('views',path.join(__dirname,'views'))
app.set('view engine','ejs')
通过res.render('index',{name:'quxy'})
渲染发送html文件,其中index为模版文件,第二个参数为传入的对象,则ejs文件中便可以直接使用对象里的属性
<p>Hello,<%=name%></p>//显示的是Hello,quxy
语法
ejs三种标签
<% %>//其中运行javascript
<%= %>//其中显示字符串
<%- %>//显示原始的html代码
注意:
<%= code %>
和<%- code %>
都可以是 JavaScript 表达式生成的字符串,当变量 code 为普通字符串时,两者没有区别。当 code 比如为< h1>hello< /h1>
这种字符串时,<%= code %>
会原样输出< h1>hello< /h1>
,而<%- code %>
则会显示 H1 大的 hello 字符串。
Data:
supplies: ['mop', 'broom', 'duster']
Template:
<ul>
<% for(var i=0; i<supplies.length; i++) {%>
<li><%= supplies[i] %></li>
<% } %>
</ul>
Output:
<ul>
<li>mop</li>
<li>broom</li>
<li>duster</li>
</ul>
include
语法
views/header.ejs
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
body {padding: 50px;font: 14px "Lucida Grande", Helvetica, Arial, sans-serif;}
</style>
</head>
<body>
views/footer.ejs
</body>
</html>
views/uesrs.ejs
<%- include('header') %>
<h1><%= name.toUpperCase() %></h1>
<p>hello, <%= name %></p>
<%- include('footer') %>