这里实现的好像就是把路由和服务器相结合起来。具体需要引入 url 模块和 http 模块
为路由提供请求的 URL 和其他需要的 GET 及 POST 参数,随后路由需要根据这些数据来执行相应的代码需要查看 HTTP 请求,从中提取出请求的 URL 以及 GET/POST 参数,所以需要引入url 和 querystring模块#####################################################################################通过给 onRequest() 函数加上一些逻辑,用来找出浏览器请求的 URL 路径: //1_server.jsvar http = require('http');var url = require('url');function start() { function onRequest(request, response) { var pathname = url.parse(request.url).pathname; console.log('Request for ' + pathname + 'received'); response.writeHead(200, {'Content-Type': 'text/plain'}); response.write('love A'); response.end(); } var server= http.createServer(onRequest); server.listen(8888); console.log('server has started');}exports.start = start;
现在可以通过请求的 URL 路径来区别不同请求了--这使我们得以使用路由(还未完成)来将请求以 URL 路径为基准映射到处理程序上
在我们所要构建的应用中,这意味着来自 /start 和 /upload 的请求可以使用不同的代码来处理。稍后我们将看到这些内容是如何整合到一起的。 //1_router.jsfunction route(pathname) { console.log('About to route a request for ' + pathname);}exports.route = route;
相应扩展 index.js,使得路由函数可以被注入到服务器中:
//1_index.jsvar server = require("./server"); var router = require("./router"); server.start(router.route);