Node.js开发系列

Posted baimeishaoxia

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Node.js开发系列相关的知识,希望对你有一定的参考价值。

上一节我们成功的分离了server.js文件和start.js文件

  • 路由控制
    跳转控制就是路由,其实简单来说,URL就是路由。那么我们来创建一个路由的示例,首先新建一个router.js文件

function route(pathname) {
    console.log("Route for path requested:" + pathname);
}

exports.route = route;

这里我们创建一个路由模块,route方法接受一个路径名作为参数,然后打印这个路径。同时,start.jsserver.js也要跟着变动。
start.js如下:

var http = require(‘http‘);
var url = require(‘url‘);

function start(router) {
    console.log("Starting~~");

    function onRequest(req, res) {
        var pathname = url.parse(req.url).pathname;
        router.route(pathname);
        
        res.writeHead(200,{
            "Content-Type":"text/plain"
        });

        res.write("The First Server");
        res.end();
    }

    var port = process.env.port || 1337;
    http.createServer(onRequest).listen(port);
    console.log("Started!!");
}

exports.start = start;

我们在start方法中增加了router参数,并且在获取到pathname后调用router.route(pathname);,这里会再router模块中打印我们的pathname

server.js如下:

var server = require(‘./start‘);
var router = require(‘./router‘);

server.start(router);

重启node,我们分别在浏览器输入http://127.0.0.1:1337http://127.0.0.1:1337/xx,命令行打印结果如下,成功的显示了我们请求的路由。
技术图片

  • 小结
    这一节我们实现了简单的路由控制,下一节我们会实现更复杂的路由控制。

以上是关于Node.js开发系列的主要内容,如果未能解决你的问题,请参考以下文章

node.js开发平台

Node.js开发系列

Node.js开发系列

Node.js开发系列

Node.js开发系列

你可能不知道的JavaScript代码片段和技巧(下)