每天学习一点点,成功增加一大步

NodeJS基础:router(路由)

NodsJS zhanghui 457℃

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 的命令运行模式,运行服务器。

运行 router 服务器

运行服务器后,它会监听到你在浏览器的输入,显示结果如图

router 服务器监听浏览器的 URL

转载请注明:隨習筆記 » NodeJS基础:router(路由)