node函数 node路由

node函数

js中一个函数能够作为另一个函数的参数,即先定义一个函数,然后通报

匿名函数

这个学过,过

node路由

要为路由供应要求的url,和其他须要的get的post要求。
随后,路由会依据须要举行实行相应的代码。
因而,须要依据http要求,从中提取中须要的url和get和post参数

两个模块,url和qureystring模块

http://localhost:8888/start?foo=bar&hello=word

这个url中
url.parse(string).pathname   start
url.parse(string).query    参数部份即问号背面的内容

querystring.parse(queryString)['foo']    bar内容
querystring.parse(queryString)['hello']  word内容

这是申明

提取url

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

(function start() {    // 建立一个定名空间
    function onRequest(request, response) {
        var pathname = url.parse(request.url).pathname;    // 提取出来url的内容
        console.log(pathname);
        response.writeHead(200, {'Content-Type': 'text/plain'});
        response.write('hello word');
        response.end();
    };

    http.createServer(onRequest).listen(1937);
}());

接见衔接 http://127.0.0.1:1937/hello%20word.html
http://127.0.0.1:1937/hello%20word
返回音讯

PS C:\Users\mingm\Desktop\test> node main.js
/hello%20word
/favicon.ico
/hello%20word.html
/favicon.ico

两个要求,一个是hello word的要求,因为url不支持空格,所以用%20举行替换,node返回客户端要求的是hello word
favicon.ico是浏览器默许的一个要求,若没有图标文件的缓存都会对服务器要求一个图标文件

编写一个路由

PS C:\Users\mingm\Desktop\test> node index.js
Server has started.
hello word!
hello word!

文件构造

- test
    router.js
    server.js
    index.js

文件内容

// router.js
function route(pathname) {
    console.log("hello word!");
};

exports.route = route; // 导出要领


// server.js
var http = require('http');
var url = require('url');

function start(route) {
    function onRequest(request, response) {
        var pathname = url.parse(request.url).pathname;

        route(pathname);    // 运用route的js模块(已经在router.js文件导出)传入的参数的值为pathname
        
        response.writeHead(200, {'Content-Type': 'text/html'});
        response.write('<head><meta charset="utf-8"></head>');
        response.write('Hello word! hello word!');
        response.end();
    };

    http.createServer(onRequest).listen(1937);
      console.log("Server has started.");
};

exports.start = start;



// index.js
var server = require('./server');
var router = require('./router');

server.start(router.route);

接见效果

http://127.0.0.1:1937/
Hello word! hello word!

个人博客

www.iming.info

    原文作者:小小____
    原文地址: https://segmentfault.com/a/1190000015769500
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞