路由:根据请求的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
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
// 路由
// 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)