ejs的模板
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title><%=title%></title>
</head>
<body>
<ul class="result-list">
<% for( var i = 0 ; i < list.length; i++){%>
<li data-key="<%=list[i].id%>">
<a href="//search.mi.com/search_<%=list[i].id%>">
<span class="keyword"></span>
<%=list[i].title%>---------------
<span class="result">约有<%=list[i].price%>件</span>
</a>
</li>
<%}%>
</ul>
</body>
</html>
dbpool连接池
var mysql = require('mysql');
//创建mysql连接池资源
var pool = mysql.createPool({
host : 'localhost',
user : 'root',
password : 'root',
database : 'xiaomi',
port: '3306'
});
//导出
exports.query = function(sql, arr, callback){
//建立链接
pool.getConnection(function(err,connection){
if(err){throw err;return;}
connection.query(sql,arr,function(error,results,fields){
//将链接返回到连接池中,准备由其他人重复使用
connection.release();
if(error) throw error;
//执行回调函数,将数据返回
callback && callback(results,fields);
});
});
};
引入数据连接池 进行数据库的操作
var fs = require('fs');
var ejs = require('ejs');
var db = require('./dbpool'); //require的路径是我们的db模块相对于本文件的路径
function static(req,res){
if (req.url == "/"){
fs.readFile("./template/index.ejs",function(err,data){
if (err){
res.writeHead(404,{"content-type":"text/html;charset=utf-8"});
res.end('404错误');
}else{
res.writeHead(200,{"content-type":"text/html;charset=utf-8"});
db.query('select * from goods', [], function(results,fields){
//查询后的回调
//Results代表是查询的结果,如果是插入修改等操作,则返回影响数据库信息的对象
// fields代表查询的字段信息
console.log(results);
var html = ejs.render(data.toString(),{title: 'Hello,epet!',list: results});
res.end(html);
});
}
});
}
}
module.exports = static;