Node.js 实现第一个应用以及HTTP模块和URL模块应用

/*
 实现一个应用,同时还实现了整个 HTTP 服务器。
* */

//1.引入http模块
var http=require('http');

//2.用http模块创建服务

    /*
     req获取url信息   (request)
     res 浏览器返回响应信息 (response)
     * */
http.createServer(function(req,res){
     // 发送 HTTP 头部
    // HTTP 状态值: 200 : OK
    //设置 HTTP 头部,状态码是 200,文件类型是 html,字符集是 utf-8
    res.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});
    res.write("你好 nodejs");
    res.write('我是第一个nodejs程序');
    res.end(); /*结束响应*/


}).listen(8001);

到该文件夹下,cmd命令运行:

node hello.js

浏览器显示:


HTTP 模块、URL 模块

Node.js 中,将很多的功能,划分为了一个个 module(模块)。 Node.js 中的很多功能都是通过模块实现。

HTTP 模块的使用

如第一个代码块,

req.url URL 地址。所有的路由设计,都是通过 req.url 来实现的。

我们比较关心的不是拿到 URL,而是识别这个 URL。

url.parse() 解析 URL
url.format(urlObject) //是上面 url.parse() 操作的逆向操作
url.resolve(from, to) 添加或者替换地址

案例:

var http=require('http');
var url=require('url');
//2.用http模块创建服务
/*
 req获取url信息   (request)
 res 浏览器返回响应信息 (response)
 * */
http.createServer(function(req,res){
//输入http://localhost:8001/news?aid=123   拿到aid
// 输入http://localhost:8001/news?aid=123&cid=3   拿到aid 和cid
//req.url  获取浏览器url输入的信息
    res.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});
    if(req.url!='/favicon.ico'){
        //http://localhost:8001/news?aid=123
        //console.log(req.url);  //返回  /news?aid=123
        var result=url.parse(req.url,true);  //第一个参数是地址    第二个参数是true的话表示把get传值转换成对象
        console.log('aid='+result.query.aid);  /*获取url的get传值*/
        console.log('cid='+result.query.cid);
    }
    res.write('你好 nodejs');
    res.end(); /*结束响应*/
}).listen(8001);

浏览器运行:

 

控制台打印:

 

 

 

 

 

 

 

 

 

posted on 2019-11-10 14:26  LoaderMan  阅读(224)  评论(0编辑  收藏  举报

导航