Nodejs学习笔记

nodejs笔记6(路由)

2018-11-11  本文已影响0人  XKolento

我们要为路由提供请求的 URL 和其他需要的 GET 及 POST 参数,随后路由需要根据这些数据来执行相应的代码。

在Node.js中,任何情况下打开 或使用一个链接都必须事先引用'url'模块:require('url').URL
通过Node.js提供的API解析一个URL:

const url = require('url');
const myURL =
  url.parse('https://user:pass@sub.host.com:8080/p/a/t/h?query=string#hash');
1.新建 router.js
function route(pathname){
    console.log('about to route a request for'+pathname);
}

exports.route = route  //模块暴露
2.新建server.js
var http = require('http');
var url = require('url');
var route = require('./router');

function start(){
    function onRequest(request,response){
        var pathname = url.parse(request.url).pathname; //解析url
        console.log("Request for " + pathname + " received.");

        route.route(pathname)//调用route模块中的route方法

        response.writeHead(200,{"content-type":"text/plain"}) //请求头部描述添加
        response.write('hello kolento') //打印返回数据
        response.end(); //标志请求结束
    }

    http.createServer(onRequest).listen(8888); //监听8888端口
    console.log('server has started')
}

exports.start = start
3.新建 index.js
var server = require("./server");
var router = require("./router");
//调用server模块中的start方法,等于是通过引用模块或者文件来调用其中的方法
server.start(router.route);

上一篇下一篇

猜你喜欢

热点阅读