路由:根据请求的URL和其他需要的GET及POST参数来执行相应的代码。
我们需要的所有数据都会包含在request对象中。
为了解析这些数据,我们需要url和querystring模块。
url.parse(string).query
|
url.parse(string).pathname |
| |
| |
------ -------------------
http://localhost:8888/start?foo=bar&hello=world
--- -----
| |
| |
querystring.parse(queryString)["foo"] |
|
querystring.parse(queryString)["hello"]
// 服务器
// server.js
var http = require("http")
var url = require("url")
function start(route) {
function onRequest(request,response){
var pathname = url.parse(request.url).pathname;
console.log("pathname:"+ pathname)
route(pathname)
response.writeHead(200,{"content-Type":"text/plain"})
response.write("helloWorld")
response.end();
}
http.createServer(onRequest).listen(8888)
console.log("程序结束")
}
// module.exports = start;
exports.start = start
// 路由
// router.js
function route (pathname){
console.log("About to route a request for:"+pathname)
}
exports.route = route
// main.js
var server = require('./hello')
var router = require('./router')
server.start(router.route)