zoukankan      html  css  js  c++  java
  • node 模块

    url 核心模块
    const url = require("url");
    let path = "https://www.baidu.com/s?
    wd=node&rsv_spt=1&rsv_iqid=0xbeece5ef00056753&
    issp=1&f=8&rsv_bp=0&rsv_idx=2&ie=utf-8&tn=baiduhome_pg&
    rsv_enter=1&
    rsv_sug3=4&rsv_sug1=4&rsv_sug7=100&rsv_sug2=0&
    inputT=760&rsv_sug4=760&rsv_sug=1";

    方法:

    url.parse():将一个url解析成一个urlObject
    参数1:url地址
    参数2:布尔值 默认是false 如果设置成true则将query解析成对象
    let urlObject = url.parse(path,true);
    console.log(urlObject)


    url.format():将一个urlObject解析成一个url字符串
    参数1:urlObject
    console.log(url.format(urlObject))

    url.resolve() 将一个地址转换成一个相对地址或者绝对地址
    console.log(url.resolve("/a/b/c","d")); // /a/b/d
    console.log(url.resolve("/a/b/c","/d"));// /d


    post相对于get来说是安全的,因为协议是https协议,post所传送的客户的信息,在Network里的fromdate里。

    querystring 核心模块
    //导入模块
    const qs = require("querystring");

    方法:

    querystring.parse():将字符串转成对象
    参数1:字符串
    参数2:分隔符号
    参数3:赋值符号
    let str = "name+张三?age+18?username+李四?password+123";
    console.log(qs.parse(str,"?","+"))
    结果:
    D:GOGOGOThreeday-02-nodeClass Code>node 003querystring
    [Object: null prototype] { name: '张三', age: '18',
    username: '李四', password:'123' }

    如果不加参数二和参数三的话,结果为:
    [Object: null prototype] { 'name 张三?age 18?username 李四?password 123': '' }

    querystring.stringfiy():将对象转换成字符串
    参数1:对象
    参数2:分隔符号
    参数3:赋值符号
    let obj = {name:"张三",age:19,sex:"女"};
    console.log(qs.stringify(obj,"$","@"));
    //结果为:
    name@%E5%BC%A0%E4%B8%89$age@19$sex@%E5%A5%B3//加密过后的字符串。需要反转义。
    //转义后:
    name@张三$age@19$sex@女//为字符串。

    querystring.escape():转义
    就是将字符串加密。
    querystring.unescape(); 反转义
    解密。
    fs 核心模块
    //导入fs模块:
    const fs = require("fs");

    方法:

    fs.stat() : 检查文件的类型 返回布尔值
    参数1:文件的路径
    参数2:回调
    fs.stat("./002url.js",(err,stats)=>{
    console.log(stats.isFile());//检测文件是否是一个文件
    console.log(stats.isDirectory());//检测文件是否是一个文件夹
    })

    fs.mkdir() :创建文件夹
    参数1:路径
    参数2:回调
    fs.mkdir("./fsDemo",(err)=>{})

    fs.writeFile() : 在文件里面书写的内容
    参数1:路径
    参数2:需要书写的内容
    参数3: 回调
    在fs.writeFile("./fsDemo/index.txt","abc",(err)=>{})
    结果:
    在文件中书写了abc

    fs.appendFile() : 在文件里面追加的内容
    参数1:路径
    参数2:需要追加的内容
    参数3:失败的回调
    fs.appendFile("./fsDemo/index.txt","123",(err)=>{})
    结果:
    文件中的内容是:abc 123

    fs.readFile() : 读取文件里面的内容
    参数1:路径
    参数2:回调 2个参数 err data 文件的类型是buffter buffter+""就为正常文件了。
    fs.readFile("./fsDemo/index.txt",(err,data)=>{
    if(!err){ //如果成功的话,输出data。
    console.log(data+"");
    }
    })

    fs.rename() : 重命名文件
    参数1:源文件路径
    参数2:修改后的文件路径
    参数3:回调
    fs.rename("./fsDemo/index.txt","./fsDemo/data.txt",(err)=>{})

    fs.readdir(): 列举文件的目录
    参数1:文件路径
    参数2:回调 err list
    fs.readdir("./fsDemo",(err,list)=>{
    console.log(list);
    })


    http 核心模块
    creatServer : 创建服务器
    const cheerio = require("cheerio");

    cheerio这个模块可以让我用jquery的语法来操作字符串,可以做一个小爬虫的作用。
    将某一网页的某一部分,写入json。
    http.get("http://www.mobiletrain.org/?pinzhuanbdtg=biaoti",(res)=>{
    //如果请求的状态是200
    if(res.statusCode == 200){
    let str = "";
    //通过data这个方法去接受 接受的时候一块一块接受的
    res.on("data",(data)=>{ //固定的
    str+=data;
    })

    //断定接受完毕
    res.on("end",()=>{
    let $ = cheerio.load(str);
    let arr = $(".banner_up_left").children();
    fs.readFile("./fsDemo/index.json",(err,data)=>{
    if(data){
    let dataJSon = JSON.parse(data+"").data;
    for(var i=0;i<arr.length;i++){
    dataJSon.push(arr.eq(i).children().eq(0).text());
    }

    let newArr = [];
    for(var i in dataJSon){
    let obj = {};
    obj.name = dataJSon[i];
    newArr.push(obj);
    }

    let jsonString = JSON.stringify({data:newArr})
    fs.writeFile("./fsDemo/index.json",jsonString,(err)=>{})
    }
    })

    })

    }
    })

    get() : 获取
    参数一:配置项
    参数二:回调函数(只有一个值:res)
    cnpm install supervisor -g 服务器发生变化,会自动的帮你重启服务器。

  • 相关阅读:
    敏捷手艺参考书籍
    算法一书配套网站
    一张图了解UML类图的所有关系
    如何团队合作--Team Geek
    正则--解析换行
    SourceTree基本使用
    springMVC--第一个demo
    Notepad++--去掉空格和换行
    ES 部分API
    spring--启动报错 Cause: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 前言中不允许有内容
  • 原文地址:https://www.cnblogs.com/newskill/p/10301782.html
Copyright © 2011-2022 走看看