1:新建数据操作模块 db.js
var mysql = require('mysql');
var connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '',
database: 'onepiece'
});
module.exports = {
that: this,
where: function (wh) {
this.whe = wh;
return this;
},
select: function (callback) {
if (this.whe == undefined) {
var sql = "select * from users ";
} else {
var sql = "select * from users where " + this.whe;
}
// 用完后重置where条件,以免后续操作的数据重复
this.whe = undefined;
connection.query(sql, function (error, results, fields) {
if (error) {
callback(error);
return;
}
callback(results);
});
}
}
2:修改业务模块(yewu.js)的调用
// var linkdb = require('./linkdb');
var db = require('./db');
var template = require('art-template');
template.defaults.root = './';
module.exports = {
getall: function (callback) {
db.select(function (data) {
// 利用回调函数获取数据
var html_data = template('./index.html', { data: data });
callback(html_data);
});
},
getone:function(id,callback){
db.where('id='+id).select(function(data){
var user_data = template('./users.html',{data:data});
callback(user_data);
});
}
}
3:修改路由模块(luyou.js)的调用
ar fs = require('fs');
var url = require('url');
// 引入业务模块使用模板引擎加载页面
var yewu = require('./yewu');
exports.bind = function (server) {
server.on('request', function (request, response) {
// 优先判断请求方式
var method = request.method;
// 解析URL参数
var url_obj = url.parse(request.url, true);
if(method == 'GET'){
// console.log(url_obj.query);//参数
if (url_obj.pathname == '/') {
yewu.getall(function(data){
response.end(data);
})
// 判断 获取单个用户信息路由
}else if(url_obj.pathname == '/getuser'){
// 获取id参数
var id = url_obj.query.id;
// 在yewu模块中封装方法,传递id参数。
// 使用回掉函数获取数据
yewu.getone(url_obj.query.id,function(data){
response.end(data);
});
}else {
fs.readFile('.' + url_obj.pathname, function (error, data) {
response.end(data);
})
}
}else if(method == 'POST'){
}
})
}