1 编写路由器
除了直接使用现成的router包,我们其实也可以自己试着编写路由器。
首先我们要规划好路由规则。比如当用户获取/users路径时,返回 tobi, loli, ferret数据。当用户获取/users/:id路径时,返回 user + id.
好了,开始写代码吧。首先 建立myRouter文件夹,然后新建javascript文件,取名server-bad.js。
var connect = require('connect'),
parse = require('url').parse;
var userRoutes = {
GET : {
'/users' : function (req,res){
res.end('tobi,loki,ferret');
},
'/users/:id' : function(req,res,id){
res.end('user ' + id);
}
},
DELETE: {}
};
我们将路由规则定义在userRoutes对象中。可以看到我们定义了两条路由规则 1 /users, 2 /users/:id 他们支持HTTP的GET方法。
然后开始编写路由器
function router(obj) {
return function(req,res,next) {
if(!obj[req.method]){
next();
return;
}
var routes = obj[req.method];
var url = parse(req.url);
var path