HTTP模块

继续Path模块

path.join

path.join([path1], [path2], […])
将多个参数值字符串结合成一个路径字符串

path.resolve

path.resolve([path1], [path2], […])
把一个路径或路径片段的序列解析为一个绝对路径,类似cd命令

join和resolve的对比

    var path = require("path");
    path.join('/a', '/b') // Outputs '\a\b'
    path.resolve('/a', '/b') // Outputs 'H:\b'

path.normalize

于将非标准路径的字符串转化成标准路径字符串

    var path = require("path");
    var normalize = path.normalize("../a//b//d//..//c//d/")
    console.log(normalize);//..\a\b\c\d

querystring模块

querystring.parse

querystring.parse(str[, sep[, eq[, options]]])
是将一个字符串反序列化为一个对象
str 指需要反序列化的字符串,sep(可选)指用于分割 str 这个字符串的字符或字符串,默认值为 “&”;eq(可选)指用于划分键和值的字符或字符串,默认值为 “=”;options(可选)该参数是一个对象,里面可设置 maxKeys 属性:传入一个 number 类型,指定解析键值对的最大值,默认值为 1000,如果设置为 0 时,则取消解析的数量限制

    var querystring = require("querystring");
    var newObj=querystring.parse("site=QQ&url=http://www.qq.com/");
    var queryObj=querystring.parse("site=QQ#url=http://www.qq.com/
    #age=5","#",null,{maxKeys:2});

querystring.stringify

querystring.stringify(obj[, sep[, eq[, options]]])
将一个对象序列化成一个字符串
数 obj 指需要序列化的对象;sep(可选)用于连接键值对的字符或字符串,默认值为 “&”;eq(可选)用于连接键和值的字符或字符串,默认值为 “=”;

    var querystring = require("querystring");
    var str = querystring.stringify({name:"baidu",sex:"man"});
    console.log(str);        //name=baidu&sex=man
    console.log(queryStr);    //name*baidu|sex*man

querystring.escape

使传入的字符串进行编码

    var querystring = require("querystring");
    var str = querystring.escape("name= 百度 ");
    console.log(str);

querystring.unescape

将含有 % 的字符串进行解码

    var querystring = require("querystring");
    var str = querystring.unescape("name%3D%E4%BC%98%E5%B0%B1%E4%B8%9A");
    console.log(str);

创建HTTP服务

    //创建一个http服务(就可以通过网址+端口号来访问了)
    //1.引入http模块
    const http = require('http')
    const fs = require('fs')
    //2.通过http对象创建Server
    http.createServer(function(req,res){
        console.log(req.url);
        let data=null;
        if(req.url=='/'){
            //设置响应头,类型为text/html,可以解析html标签
            res.writeHead(200,"ok",{'Content-Type':'text/html;charset=utf-8'})
            //文件读取:网页
            data = fs.readFileSync('./index.html','utf-8')
            //将网页内容输出给浏览器
        }else if(req.url.endsWith('.css')){
            //设置响应头,类型为text/html,可以解析html标签
            res.writeHead(200,"ok",{'Content-Type':'text/css;charset=utf-8'})
            data = fs.readFileSync('.'+req.url,'utf-8');//  ./public.css
        }else if(req.url.endsWith('.js')){
            res.writeHead(200,"ok",{'Content-Type':'text/javascript;charset=utf-8'})
            data = fs.readFileSync('.'+req.url,'utf-8');//  ./public.css
        }else{
            res.writeHead(200,"ok",{'Content-Type':'image/x-icon'})
            data = fs.readFileSync('.'+req.url);//  图片
        }
            res.write(data);
            res.end();//关闭[如果不关闭,页面就会一直加载中,一直等待]
    }).listen(8888)
    console.log('server startup on 8888')
    //3.监听端口:8888
    //4.访问地址:http://localhost:8888/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值