四、模板引擎
<a href="<%= url %>"><img src="<%= imageURL %>" alt=""></a>
数据绑定,就成为一个完整的html字符串了。
前台的模板,我们现在要学习的是后台的模板。
后台模板,著名的有两个,第一个叫做ejs; 第二个叫做jade。 是npm第三方包。 先说EJS
Embedded JavaScript templates
后台模板引擎
<ul>
<% for(var i = 0 ; i < news.length ; i++){ %>
<li><%= news[i] %></li>
<% } %>
</ul>
var dictionary = {
a:6,
news : ["1期班太牛逼了","高薪就业","哈哈哈哈哈"]
};

14.js

/**
* Created by Danny on 2015/9/20 16:59.
*/
var ejs = require("ejs"); //模板
var string = "好高兴啊,今天我买了iphone<%= a %>s";
//数据
var data = {
a : 6
};
//数据绑定
var html = ejs.render(string, data);
//输出
console.log(html);

15.js

/**
* Created by Danny on 2015/9/20 16:59.
*/
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);
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>

EJS模版效率不高,JADE引擎效率高,难度大

最新文章

  1. 织梦DedeCms用SQL语句调用数据库任意内容方法
  2. 网络爬虫系统Heritrix的结构分析 (个人读书报告)
  3. ubuntu共享文件夹给virtualbox
  4. Linq 语法举例
  5. 《Algorithms 4th Edition》读书笔记——2.4 优先队列(priority queue)-Ⅰ
  6. NFinal学习笔记 03—代码生成器
  7. 竖向折叠二级导航JS代码(可防刷新ul/li结构)
  8. 005.数组、for、foreach
  9. UGUI表情系统&amp;超链接解决方案
  10. jquery 循环获取checkBox的值,以及对复选框选中,取消,操作按钮
  11. Django学习之十三:提高页面开发效率减少冗余的模板系统
  12. iphone 屏蔽系统自动更新,消除设置上的小红点
  13. JDK动态代理深入理解分析并手写简易JDK动态代理(上)
  14. 如何使用linux+xvfb+python+rfs+firefox+jenkins实现UI自动化
  15. javascript中的字符串对象
  16. js顺序播放列表中的音乐
  17. 复制目录及其子目录下所有文件DOC
  18. 2017NOIP游记
  19. POJ1185 状压dp(二进制//三进制)解法
  20. Lua搜索特殊字符

热门文章

  1. tcMalloc 配置和优化 nginx 高性能
  2. HTML5开发移动web应用——Sencha Touch篇(8)
  3. 使用Handler在子线程中更新UI
  4. Swift String转Character数组
  5. ssh tunnel 上网
  6. 2017第33周四JDK8并发
  7. oracle故障处理之删除大表空间hang住
  8. firstChild与firstElementChild
  9. CheckBox的Attributes
  10. Linux crontab 定时任务设置