EJS 是后台模板,可以把我们数据库和文件读取的数据显示到 Html 页面上面(解析页面视图模板)。它是一个第三方模块,需要通过 npm 安装
https://www.npmjs.com/package/ejs
安装: npm install ejs –save / cnpm install ejs --save
EJS 常用标签
<% %> 流程控制标签(当成JavaScript代码解析)
<%= %> 输出标签(原样输出其中的 HTML 标签)(防XSS攻击)
<%- %> 输出标签(输出的HTML标签 会被浏览器解析)
Node.js中的使用:
ejs.renderFile("view/login.ejs", { data1:1,data2:2 }, function(err, str){
res.end(str);
});
ejs(express)配置全局变量,所有的视图模板中都可以使用: <%=userinfo.username%>
app.locals['userinfo']=req.session.userinfo; //app是express框架的实例 var app=new express();
res.locals['userinfo']=req.session.userinfo; //只有在当前请求中有效
demo.js:
var http=require('http');
var url=require('url');
var ejs=require('ejs'); //引入ejs模块,第三方模块 需要npm安装
http.createServer(function(req,res){
res.writeHead(200,{"Content-Type":"text/html;charset='utf-8'"});
//把数据库的数据渲染到模板上面
ejs.renderFile('views/login.ejs',{
msg:"shu",
list:"222"
},function(err,data){
res.end(data);
})
}).listen(8001);
view/login.ejs(视图模板):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
</head>
<body>
<h2>这是一个ejs的后台模板引擎-登录</h2>
<h2><%=msg%></h2>
<br/>
<hr/>
<%=list %>
</body>
</html>