Node.Js的环境搭建略过,关于路由需要以下4个文件:
- server.js
- index.js
- router.js
- requestHandler.js
//server.js
var http = require("http");
var url = require("url");
function start(route, handle){
function onRequest(request, response){
var pathname = url.parse(request.url).pathname;
console.log("Request for "+ pathname +" received.");
route(handle, pathname);
response.writeHead(200,{"Content-Type":"text/plain"});
response.write("Hello World");
response.end();
}
http.createServer(onRequest).listen(8888);
console.log("Server has started.");
}
exports.start = start;
//index.js
var server = require("./server");
var router = require("./router");
var requestHandlers = require("./requestHandlers");
var handle ={}
handle["/"]= requestHandlers.start;
handle["/start"]= requestHandlers.start;
handle["/upload"]= requestHandlers.upload;
server.start(router.route, handle);
//router.js
function route(handle, pathname){
console.log("About to route a request for "+ pathname);
if(typeof handle[pathname]==='function'){
handle[pathname]();
}else{
console.log("No request handler found for "+ pathname);
}
}
exports.route = route;
//requestHandler.js
function start(){
console.log("*******Request handler 'start' was called.*******");
}
function upload(){
console.log("*******Request handler 'upload' was called.*******");
}
exports.start = start;
exports.upload = upload;