后台模板
著名 的 ejs 、jade
ejs
https://www.npmjs.com/package/ejs
Embedded JavaScript templates
安装
npm install ejs
使用
var ejs = require("ejs");
//模板
var string = "好高兴啊,今天我买了iphone<%= a %>s";
//数据
var data = {
a : 6
};
//数据绑定
var html = ejs.render(string, data);
//输出
console.log(html);
模板绑定
1 创建/view/index.ejs文件
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<h1>好高兴啊,今天我买了一个iphone<%= a %>s</h1>
<ul>
<%
for(var i = 0 ; i < news.length ; i++){
if(news[i].count > 15){
%>
<li><%= news[i].title %></li>
<%
}
}
%>
</ul>
</body>
</html>
2 js
var ejs = require("ejs");
var fs = require("fs");
var http = require("http");
var server = http.createServer(function(req,res){
fs.readFile("./views/index.ejs",function(err,data){
//绑定模板
var template = data.toString();
var dictionary = {
a:6,
news : [
{"title":"陈伟我爱你","count":10},
{"title":"哈哈哈哈","count":20},
{"title":"逗你玩儿的","count":30}
]
};
var html = ejs.render(template,dictionary);
//显示
res.writeHead(200,{"Content-Type":"text/html;charset=UTF8"});
res.end(html);
});
});
server.listen(3000,"127.0.0.1");
ejs 效率不高
读取文件 fs.readFile("./views/index.ejs",function(err,data){ 字符串 效率不高
jade
效率高 但是复杂
以缩进方式 书写类似python
注意 不推荐
后台数据 返回对象的数据json/xml
前台 获取数据显示