建立路由
文件名稱以及途徑 routes/index.js
//獵取路由中間件
var getMoreMethod = require('../method_routes/getMore-method').getMoreMethod;
module.exports = function(app, domain) {
//domain來處置懲罰非常
app.use(function(req, res, next) {
var d = domain.create();
//監聽domain的毛病事宜
d.on('error', function(err) {
// res.statusCode = 500;
res.statusCode = 404;
res.render('htmlerror');
d.dispose();
});
d.add(req);
d.add(res);
d.run(next);
});
//模板輔佐要領
//app.use(require('../ejs_fun/index'));
app.get('/index',getMoreMethod);
}
建立getMore-method
文件途徑method_routes/getMore-method.js
這裏的點主要有兩方面1.async 2.request
var request = require('request');//nodejs要求中間件
var async = require('async');//流程掌握中間件,有興緻能夠自行讀取async的api
//引入全局變量
require('../config/config');
exports.getMoreMethod = function(req,res,next){
async.waterfall([
function(callback) {
var data = {};
request.get({url:Config.url+"api/4", formData: {}}, function(err, res, body) {
if (err) {
console.error('failed:', err);
callback && callback(err);
}else{
data.f = JSON.parse(body);
callback(null, data);
}
});
},
function(data, callback) {
request.get({url:Config.url+"api/test2", formData: {}}, function(err, httpResponse, body) {
if (err) {
console.error('failed:', err);
callback && callback(err);
}else{
data.t = JSON.parse(body);
callback(null, data);
}
});
},
function(data, callback) {
request.get({url:Config.url+"test/pos", formData: {}}, function(err, res, body) {
if (err) {
console.error('failed:', err);
callback && callback(err);
}else{
data.p = JSON.parse(body);
callback(null, data);
}
});
}
], function(err, result) {
res.render("getMore", {
"result": result,
"first":result.f,
"two":result.t,
"three":result.p
});
});
}
全局變量
文件途徑config/config
//全局變量
global.Config = {
url:'http://192.168.43.201:3009/'//當地ip
}
建立ejs文件
文件途徑 views/getMore.ejs
<!DOCTYPE html>
<html>
<head>
<title>getMore</title>
</head>
<body>
<div class="container">
<%for(var i in first){ %>
<%if(i == 'img'){%>
<img src="<%= first[i] %>" alt="">
<%}else{%>
<div><%= first[i] %></div>
<%}%>
<%}%>
</div>
</body>
</html>
以上接口都是自行搭建mock數據,github地點node_api
搭建express項目已差不多,迎接大佬一同議論