node.js 和其他框架语言一样也有它自己的路由模块,用来获取 URL 中的路径或者其他请求参数的信息。因为刚入门 node.js 所以我对这个的用法还是有点模糊不清。现只是笔录下它的实现过程。
在这里只是用 onRequest()函数来实现整个的过程,但实现这个过程还要依赖两个 nodejs 自带的模块 http 和 url。接下来笔录的是简单实现的代码示例。
创建一个 router.js 文件,用来输出分析后 URL 路径,其的代码是:
function route(pathname) { console.log("About to route a request for " + pathname); } exports.route = route;
再创建一个 server.js 文件,用来对请求的 URL 进行分析,其的代码是:
var http = require('http'); var url = require('url'); function start(route) { function onRequest(request, response) { var pathname = url.parse(request.url).pathname; console.log('Request for ' + pathname + ' received.'); route(pathname); response.writeHead(200, {"Content-Type": "text/plain"}); response.write('Hello World!'); response.end(); } http.createServer(onRequest).listen(8020); console.log("Server has started."); } exports.start = start;
最后创建一个 index.js 文件,将以上的两个模块组合起来。
var server = require('./server'); var router = require('./router'); server.start(router.route);
编写完以上的代码,进入 nodejs 的命令运行模式,运行服务器。
运行服务器后,它会监听到你在浏览器的输入,显示结果如图
转载请注明:隨習筆記 » NodeJS基础:router(路由)